import { SessionAutoApproveState } from './app/approvals/session-auto-approve.js';
import { McpOAuthStore } from './app/mcp/oauth-state-store.js';
import { ShortcutClientLogger } from './app/observability/index.js';
import { ModelRegistry } from './app/providers/model-registry.js';
import type { UserInfo } from './app/services/user-context.js';
import { SessionManager } from './app/session/session-manager.js';
import { SettingsManager } from './app/settings-manager.js';
import { type StartupInfoEntry } from './app/startup-info.js';
import { type Args } from './cli/args.js';
import { type CreateLocalAgentSessionOptions } from './local/index.js';
import { RemoteControlBootstrap } from './remote-control/index.js';
/** Resolve CLI args into a fully-configured session options bundle plus any thinking-level fallback. */
export declare function buildSessionOptions(parsed: Args, sessionManager: SessionManager | undefined, modelRegistry: ModelRegistry, mcpOAuthStore: McpOAuthStore, _settingsManager: SettingsManager, approvalState: SessionAutoApproveState, remoteControl: RemoteControlBootstrap, clientLogger: ShortcutClientLogger, sandboxActive: boolean, devMode: boolean, startupWarnings?: string[], startupInfos?: StartupInfoEntry[], getMogRuntimeEnabled?: () => boolean | Promise<boolean>): Promise<{
    options: CreateLocalAgentSessionOptions;
    cliThinkingFromModel: boolean;
}>;
export declare function isMogRuntimeEnabledForUser(userInfo: UserInfo | null): boolean;
export declare function isFastModeAllowedForUser(userInfo: UserInfo | null): boolean;
/** Composition root: dispatch CLI args to print, RPC, interactive, or cron daemon entry points. */
export declare function main(args: string[]): Promise<void>;
//# sourceMappingURL=main.d.ts.map