export type CatalogKind = "store" | "brand" | "product";
export type CatalogStatus = "seeded" | "verified" | "pending" | "rejected";
export interface CanonicalCatalogEntry {
    id: number;
    kind: CatalogKind;
    canonical_name: string;
    display_name: string;
    normalized_name: string;
    status: CatalogStatus;
    metadata: Record<string, unknown>;
    source_label: string;
    source_url: string;
    alias_count: number;
    observed_count: number;
    created_at: string;
    updated_at: string;
}
export interface CatalogObservation {
    raw_value: string;
    normalized_value: string;
    observed_count: number;
    matched_entry_id: number | null;
    matched_display_name: string | null;
}
export interface AdminCatalogSummary {
    entries: CanonicalCatalogEntry[];
    observations: CatalogObservation[];
}
export interface CatalogSuggestion {
    raw_value: string;
    normalized_value: string;
    observed_count: number;
    suggested_action: "alias" | "create";
    suggested_entry_id: number | null;
    suggested_display_name: string | null;
    suggested_canonical_name: string | null;
    similarity: number;
    reason: string;
}
export interface CatalogEntryInput {
    kind: CatalogKind;
    canonicalName: string;
    displayName: string;
    status: CatalogStatus;
    sourceLabel?: string;
    sourceUrl?: string;
}
export interface ResolvedCatalogEntry {
    id: number;
    display_name: string;
    canonical_name: string;
    normalized_name: string;
}
export declare function resolveCatalogEntry(kind: CatalogKind, rawValue: string): Promise<ResolvedCatalogEntry | null>;
export declare function listAdminCatalog(kind: CatalogKind): Promise<AdminCatalogSummary>;
export declare function listCatalogSuggestions(kind: CatalogKind, limit?: number): Promise<CatalogSuggestion[]>;
export declare function createCatalogEntry(input: CatalogEntryInput): Promise<CanonicalCatalogEntry>;
export declare function updateCatalogEntry(id: number, input: Partial<Omit<CatalogEntryInput, "kind">>): Promise<CanonicalCatalogEntry | null>;
export declare function addCatalogAlias(entryId: number, alias: string): Promise<boolean>;
//# sourceMappingURL=catalog.service.d.ts.map