Correct answer: 'Black-box.' In component-based software design, a component is treated as a black box from the perspective of external components or systems — consumers interact only with its published interface/contract and have no visibility into (nor dependency on) its internal implementation. This encapsulation is what allows components to be swapped or upgraded independently. 'White-box' and 'grey-box' would imply partial or full visibility into internals, which contradicts the core component design principle.