export type AzureSessionLanguage = 'py' | 'js';
export type AzureSessionExecutionResult = {
    status?: string;
    stdout?: string;
    stderr?: string;
    executionResult?: string;
    executionTimeInMilliseconds?: number;
};
/** POST /executions response (2025-10-02-preview). */
export type AzureSessionExecuteResponse = {
    id?: string;
    identifier?: string;
    executionType?: string;
    /** e.g. Succeeded, Failed, Running */
    status?: string;
    result?: AzureSessionExecutionResult;
    error?: {
        message?: string;
        code?: string;
    };
};
export type ExecuteCodeOptions = {
    /** Capped at 600s per Azure code interpreter limit. */
    timeoutInSeconds?: number;
};
export type CustomProviderCallResult = {
    output: string;
    tokenUsage?: Record<string, number>;
    cost?: number;
    error?: string;
    metadata?: Record<string, unknown>;
};
export type RunCustomProviderInAzureSessionParams = {
    language: AzureSessionLanguage;
    prompt: string;
    env?: Record<string, string>;
    /** Directory containing provider sources (provider.py / provider.js, deps files). */
    bundleDirectory: string;
    /** When set, upload a single zip and extract in-session (preserves nested paths). */
    bundleZipBuffer?: Buffer;
    /** Path to provider file inside the zip (e.g. provider.py). Function is always call_api / callApi. */
    providerFilePath: string;
    /** Reuse a warm session when set; otherwise a new identifier is generated. */
    sessionIdentifier?: string;
    /** Delete session after invocation (default true for one-off API calls). */
    cleanupSession?: boolean;
    /** @deprecated Zip is always uploaded; extract runs in-session per invocation. */
    skipBundleUpload?: boolean;
    /** Azure Sessions code execution timeout (default/max: 600s per Microsoft Learn). */
    timeoutInSeconds?: number;
    context?: Record<string, unknown>;
};
export type RunCustomProviderInAzureSessionResult = {
    sessionIdentifier: string;
    providerResponse: CustomProviderCallResult;
    rawExecution?: AzureSessionExecutionResult;
};
//# sourceMappingURL=types.d.ts.map