import { cancelFlow, getFlowState, respondPrompt, startFlow, type LoginFlowConsumer, type LoginFlowState, type StartLoginFlowInput } from './login-flow.js'; export interface AuthLoginStartOptions { reuseExistingPair?: boolean; } export interface AuthLoginService { start(input: StartLoginFlowInput, options?: AuthLoginStartOptions): Promise; getState(flowId: string): LoginFlowState | null; respond(flowId: string, value: string): Promise; cancel(flowId: string): Promise; } export type AuthNoticeFlowResolution = { kind: 'unbound'; } | { kind: 'expired'; } | { kind: 'state'; state: LoginFlowState; }; export declare function bindAuthNoticeFlow(service: AuthLoginService, noticeId: string, flowId: string): void; export declare function resolveAuthNoticeFlow(service: AuthLoginService, noticeId: string, explicitFlowId?: string): AuthNoticeFlowResolution; export interface AuthLoginServiceDependencies { startFlow?: typeof startFlow; getFlowState?: typeof getFlowState; respondPrompt?: typeof respondPrompt; cancelFlow?: typeof cancelFlow; claudeConsumer?: LoginFlowConsumer; claudeOAuthConsumer?: LoginFlowConsumer; piConsumerFactory?: (provider: string) => LoginFlowConsumer; piOAuthConsumerFactory?: (provider: string) => LoginFlowConsumer; } export declare function createAuthLoginService(dependencies?: AuthLoginServiceDependencies): AuthLoginService; export declare const authLoginService: AuthLoginService;