import type { Options, CanUseTool, HookCallbackMatcher, PermissionMode as SdkPermissionMode } from '@anthropic-ai/claude-agent-sdk';
import type { PermissionMode } from '../../core/models/index.js';
import type { PermissionHandler, AskUserQuestionHandler, ClaudeSpawnOptions } from './types.js';
/**
 * Builds SDK options from ClaudeSpawnOptions.
 *
 * Handles permission mode resolution, canUseTool callback creation,
 * and AskUserQuestion hook setup.
 */
export declare class SdkOptionsBuilder {
    private readonly options;
    constructor(options: ClaudeSpawnOptions);
    build(): Options;
    static mapToSdkPermissionMode(mode: PermissionMode): SdkPermissionMode;
    private resolvePermissionMode;
    static createCanUseToolCallback(handler: PermissionHandler): CanUseTool;
    static createAskUserQuestionHooks(askUserHandler: AskUserQuestionHandler): Partial<Record<string, HookCallbackMatcher[]>>;
}
export declare function createCanUseToolCallback(handler: PermissionHandler): CanUseTool;
export declare function createAskUserQuestionHooks(askUserHandler: AskUserQuestionHandler): Partial<Record<string, HookCallbackMatcher[]>>;
export declare function buildSdkOptions(options: ClaudeSpawnOptions): Options;
//# sourceMappingURL=options-builder.d.ts.map