import type { JsonObject } from '../internal/utils.js';
import type { RuntimeClient, RuntimeConnectionState, RuntimeHealth, RuntimeOptions } from './types.js';
export declare function connectRuntime(input: {
    appId: string;
    options: RuntimeOptions;
    getState: () => RuntimeConnectionState;
    getConnectPromise: () => Promise<void> | null;
    setState: (state: RuntimeConnectionState) => void;
    setConnectPromise: (promise: Promise<void> | null) => void;
    setClient: (client: RuntimeClient | null) => void;
    emitConnected: (at: string) => void;
    emitTelemetry: (name: string, data?: JsonObject) => void;
}): Promise<void>;
export declare function readyRuntime(input: {
    timeoutMs: number;
    waitForReady: (timeoutMs: number) => Promise<void>;
    health: () => Promise<RuntimeHealth>;
    markReady: (at: string) => void;
}): Promise<void>;
export declare function closeRuntime(input: {
    getState: () => RuntimeConnectionState;
    getConnectPromise: () => Promise<void> | null;
    getClient: () => RuntimeClient | null;
    setState: (state: RuntimeConnectionState) => void;
    setConnectPromise: (promise: Promise<void> | null) => void;
    setClient: (client: RuntimeClient | null) => void;
    emitDisconnected: (at: string) => void;
    emitTelemetry: (name: string, data?: JsonObject) => void;
}): Promise<void>;
//# sourceMappingURL=runtime-lifecycle.d.ts.map