/**
 * Public Ricky SDK.
 *
 * This module is the package root export. It exposes programmatic entrypoints
 * for local/BYOH generation and execution, Cloud generation, scheduling, and
 * the CLI command runner used by the published `ricky` bin.
 */
import type { CloudGenerateEndpointOptions, CloudGenerateResponse, CloudGenerateRequest, ListRickyWorkflowSchedulesResult, ScheduleRickyWorkflowOptions, ScheduleRickyWorkflowResult } from '../cloud/api/index.js';
import type { LocalEntrypointOptions, LocalResponse, RawHandoff } from '../local/index.js';
import type { CliMainDeps, CliMainResult } from '../surfaces/cli/commands/cli-main.js';
export type RickyRunLocal = (handoff: RawHandoff, options?: LocalEntrypointOptions) => Promise<LocalResponse>;
export type RickyHandleCloudGenerate = (request: CloudGenerateRequest, options?: CloudGenerateEndpointOptions) => Promise<CloudGenerateResponse>;
export type RickyRunCli = (deps?: CliMainDeps) => Promise<CliMainResult>;
export interface RickySdkOptions {
    /** Default caller root used when a method input does not provide `cwd`. */
    cwd?: string;
    /** Local entrypoint override for tests or custom runtime wiring. */
    runLocal?: RickyRunLocal;
    /** Cloud generate handler override for tests or custom server adapters. */
    handleCloudGenerate?: RickyHandleCloudGenerate;
    /** CLI command runner override for tests. */
    runCli?: RickyRunCli;
    /** Cloud workflow scheduler override for tests or custom Cloud adapters. */
    scheduleWorkflow?: (workflowPath: string, options?: ScheduleRickyWorkflowOptions) => Promise<ScheduleRickyWorkflowResult>;
    /** Cloud workflow schedule lister override for tests or custom Cloud adapters. */
    listWorkflowSchedules?: () => Promise<ListRickyWorkflowSchedulesResult>;
}
export interface RickyGenerateLocalWorkflowInput {
    spec: string;
    cwd?: string;
    workflowName?: string;
    run?: boolean;
    bestJudgement?: boolean;
    refine?: false | {
        model?: string;
    };
    autoFixAttempts?: number;
    localOptions?: LocalEntrypointOptions;
}
export interface RickyRunLocalWorkflowInput {
    workflowPath: string;
    cwd?: string;
    autoFixAttempts?: number;
    startFromStep?: string;
    previousRunId?: string;
    localOptions?: LocalEntrypointOptions;
}
export interface RickySdk {
    generateLocalWorkflow(input: RickyGenerateLocalWorkflowInput): Promise<LocalResponse>;
    runLocalWorkflow(input: RickyRunLocalWorkflowInput): Promise<LocalResponse>;
    generateCloudWorkflow(request: CloudGenerateRequest, options?: CloudGenerateEndpointOptions): Promise<CloudGenerateResponse>;
    scheduleWorkflow(workflowPath: string, options?: ScheduleRickyWorkflowOptions): Promise<ScheduleRickyWorkflowResult>;
    listWorkflowSchedules(): Promise<ListRickyWorkflowSchedulesResult>;
    runCli(deps?: CliMainDeps): Promise<CliMainResult>;
}
export declare function createRickySdk(options?: RickySdkOptions): RickySdk;
export declare function runRickyCli(deps?: CliMainDeps & {
    runCli?: RickyRunCli;
}): Promise<CliMainResult>;
export type { CloudGenerateEndpointOptions, CloudGenerateRequest, CloudGenerateResponse, CliMainDeps, CliMainResult, LocalEntrypointOptions, LocalResponse, RawHandoff, };
export * as cloud from '../cloud/index.js';
export * as local from '../local/index.js';
export * as runtime from '../runtime/index.js';
export * as product from '../product/index.js';
export * as shared from '../shared/index.js';
