export interface SecretInputRequest {
    id: string;
    sessionId: string;
    userId: string | null;
    title: string;
    prompt: string;
    requestedBy: string | null;
    createdAt: string;
    expiresAt: string;
    status: "pending" | "submitted" | "cancelled" | "timeout";
}
export interface SecretInputServiceOptions {
    defaultTimeoutMs?: number;
    onRequest?: (request: SecretInputRequest) => void;
    onResolved?: (request: SecretInputRequest) => void;
}
export declare class SecretInputService {
    private readonly pending;
    private readonly defaultTimeoutMs;
    private readonly onRequest?;
    private readonly onResolved?;
    constructor(options?: SecretInputServiceOptions);
    requestSecret(input: {
        sessionId: string;
        userId?: string | null;
        title: string;
        prompt: string;
        requestedBy?: string | null;
        timeoutMs?: number;
    }): Promise<string | null>;
    listPending(sessionId?: string, userId?: string | null): SecretInputRequest[];
    submit(requestId: string, value: string, userId?: string | null): boolean;
    cancel(requestId: string, userId?: string | null): boolean;
    private resolveRequest;
}
//# sourceMappingURL=secret-input.d.ts.map