import type { AiProfile } from "../../../services/aiService";
export interface AgentProfileSwitcherProps {
    profiles: AiProfile[];
    currentProfileId?: string;
    onSelectProfile: (profileId: string) => Promise<void> | void;
    disabled?: boolean;
}
type ProfileGroup = {
    category: string | undefined;
    order: number;
    profiles: AiProfile[];
};
type FocusOutsideEvent = {
    preventDefault: () => void;
};
export declare function handleProfileSwitcherFocusOutside(event: FocusOutsideEvent, keyboardFocusExitRequested: boolean): boolean;
/**
 * Groups selectable profiles by category, ordered by the smallest
 * categoryOrder within each group; uncategorized profiles come last.
 * Hidden profiles stay selectable when they are current or the default,
 * so the (hidden-by-default) Parhelia profile remains reachable after
 * switching away from it.
 */
export declare function getSwitchableProfileGroups(profiles: AiProfile[], currentProfileId?: string): ProfileGroup[];
/**
 * "Looking for a specialist?" popover on the new-chat greeting: switches a
 * draft agent to a different profile before the session starts.
 */
export declare function AgentProfileSwitcher({ profiles, currentProfileId, onSelectProfile, disabled, }: AgentProfileSwitcherProps): import("react").JSX.Element | null;
export {};
