import type { visibilityFacts } from '@znet/catalog-db';
type Facts = Awaited<ReturnType<typeof visibilityFacts>>;
export type CheckStatus = 'pass' | 'fail' | 'warn' | 'info';
export interface VisibilityCheck {
    check: string;
    status: CheckStatus;
    detail: string;
}
/**
 * Explain why a product may not be visible on a store view's storefront, in the order a
 * merchandiser would check. Pure function over catalog facts so it is easy to test and extend.
 * Live salable quantity is added by the MCP server, which can reach Magento.
 */
export declare function diagnoseVisibility({ product: p, store, variantStates }: Facts, opts?: {
    stock: boolean;
}): {
    sku: string;
    store: string;
    likelyVisible: boolean;
    summary: string;
    checks: VisibilityCheck[];
    asOf: Date;
};
export {};
//# sourceMappingURL=visibility.d.ts.map