import type { ControlPlaneModelOptions, ControlPlaneSessionRuntimeContext, ControlPlaneSessionView } from '../../../client-shared/api/types.js';
export type CliV2ModelPickerItem = ControlPlaneModelOptions['groups'][number]['options'][number];
export type CliV2ReasoningPickerItem = ControlPlaneSessionRuntimeContext['reasoningOptions'][number];
export type CliV2PermissionModePickerItem = ControlPlaneSessionRuntimeContext['permissionModeOptions'][number];
export type CliV2SessionPickerItem = Pick<ControlPlaneSessionView, 'id' | 'name'>;
export declare class CliV2PickerService {
    static modelQuery(draft: string): string | undefined;
    static sessionQuery(draft: string): string | undefined;
    static reasoningQuery(draft: string): string | undefined;
    static permissionModeQuery(draft: string): string | undefined;
    static filterModels(modelOptions: ControlPlaneModelOptions | undefined, query: string | undefined): CliV2ModelPickerItem[];
    static filterSessions(sessions: ControlPlaneSessionView[], query: string | undefined): CliV2SessionPickerItem[];
    static filterReasoningOptions(runtimeContext: ControlPlaneSessionRuntimeContext | undefined, query: string | undefined): CliV2ReasoningPickerItem[];
    static filterPermissionModes(runtimeContext: ControlPlaneSessionRuntimeContext | undefined, query: string | undefined): CliV2PermissionModePickerItem[];
    static permissionModeInitialIndex(runtimeContext: ControlPlaneSessionRuntimeContext | undefined, query: string | undefined): number;
    static clampIndex(index: number, itemCount: number): number;
    static nextIndex(index: number, itemCount: number): number;
    static previousIndex(index: number, itemCount: number): number;
}
//# sourceMappingURL=picker-service.d.ts.map