export declare const MANAGED_MODEL_PREFIXES: {
    readonly gemini: "gcli";
    readonly agy: "agy";
};
export type ManagedModelPrefixProvider = keyof typeof MANAGED_MODEL_PREFIXES;
export type ModelRoutingStatus = 'safe' | 'shadowed' | 'prefix-only';
export interface CatalogLikeModel {
    id: string;
    name?: string;
}
export interface CatalogLikeProvider {
    provider: string;
    displayName: string;
    models: CatalogLikeModel[];
}
export interface MergedModelLike {
    id: string;
    owned_by?: string;
    type?: string;
}
export interface CliproxyModelRoutingHint {
    modelId: string;
    modelName: string;
    prefix: string;
    pinnedModelId: string;
    recommendedModelId: string;
    pinnedAvailable: boolean;
    unprefixedStatus: ModelRoutingStatus;
    effectiveProvider: string | null;
    effectiveDisplayName: string | null;
    effectiveOwnedBy: string | null;
    summary: string;
}
export interface CliproxyProviderRoutingHints {
    provider: string;
    displayName: string;
    prefix: string;
    safeCount: number;
    shadowedCount: number;
    prefixOnlyCount: number;
    models: CliproxyModelRoutingHint[];
}
export declare function buildCliproxyRoutingHints(catalogs: Partial<Record<string, CatalogLikeProvider>>, mergedModels: MergedModelLike[]): Partial<Record<string, CliproxyProviderRoutingHints>>;
export declare function getManagedModelPrefix(provider: string): string | null;
//# sourceMappingURL=cliproxy-model-routing.d.ts.map