import { type CodexBackendMode } from '../providerSettings/definitions/codex.js';
import { type OpenCodeBackendMode } from '../providerSettings/definitions/opencode.js';
type SharedRuntimeDescriptorByProviderId = {
    codex: Readonly<{
        providerId: 'codex';
        backendMode: CodexBackendMode | null;
        vendorSessionId: string | null;
        home: 'user' | 'connectedService' | null;
        connectedServiceId: string | null;
        connectedServiceProfileId: string | null;
        homePath: string | null;
    }>;
    opencode: Readonly<{
        providerId: 'opencode';
        backendMode: OpenCodeBackendMode | null;
        vendorSessionId: string | null;
        serverBaseUrl: string | null;
        serverBaseUrlExplicit: boolean;
    }>;
    pi: Readonly<{
        providerId: 'pi';
        vendorSessionId: string | null;
    }>;
};
export declare function buildCodexAgentRuntimeDescriptor(params: Readonly<{
    backendMode: CodexBackendMode;
    vendorSessionId?: string | null;
    home?: 'user' | 'connectedService' | null;
    connectedServiceId?: string | null;
    connectedServiceProfileId?: string | null;
    homePath?: string | null;
}>): Readonly<{
    v: 1;
    providerId: 'codex';
    provider: {
        backendMode: CodexBackendMode;
        vendorSessionId?: string;
        home?: 'user' | 'connectedService';
        connectedServiceId?: string;
        connectedServiceProfileId?: string;
        homePath?: string;
        providerExtra: {
            owner: 'codex';
            schemaId: 'codex.agentRuntimeDescriptorExtra';
            v: 1;
            runtimeAffinity?: {
                backendMode?: CodexBackendMode;
                vendorSessionId?: string;
                home?: 'user' | 'connectedService';
                connectedServiceId?: string;
                connectedServiceProfileId?: string;
                homePath?: string;
            };
        };
    };
}>;
export declare function buildOpenCodeAgentRuntimeDescriptor(params: Readonly<{
    backendMode: OpenCodeBackendMode;
    vendorSessionId?: string | null;
    serverBaseUrl?: string | null;
    serverBaseUrlExplicit?: boolean;
}>): Readonly<{
    v: 1;
    providerId: 'opencode';
    provider: {
        backendMode: OpenCodeBackendMode;
        vendorSessionId?: string;
        serverBaseUrl?: string;
        serverBaseUrlExplicit?: true;
        providerExtra: {
            owner: 'opencode';
            schemaId: 'opencode.agentRuntimeDescriptorExtra';
            v: 1;
            runtimeHandle?: {
                backendMode?: OpenCodeBackendMode;
                vendorSessionId?: string;
                serverBaseUrl?: string;
                serverBaseUrlExplicit?: true;
            };
        };
    };
}>;
export declare function readSessionMetadataRuntimeDescriptor(metadata: unknown, providerId: 'codex'): SharedRuntimeDescriptorByProviderId['codex'] | null;
export declare function readSessionMetadataRuntimeDescriptor(metadata: unknown, providerId: 'opencode'): SharedRuntimeDescriptorByProviderId['opencode'] | null;
export declare function readSessionMetadataRuntimeDescriptor(metadata: unknown, providerId: 'pi'): SharedRuntimeDescriptorByProviderId['pi'] | null;
export {};
//# sourceMappingURL=agentRuntimeDescriptor.d.ts.map