export type ChronosSDKConfig = {
    endpoint?: string;
    apiKey: string;
    orgId?: string;
    appId?: string;
    batchSize?: number;
    flushIntervalMs?: number;
    captureConsole?: boolean;
    maxLogBytes?: number;
};
export type JobSignature = {
    id: string;
    name: string;
    schedule: string;
    runMode: 'once' | 'recurring';
    version?: string;
    signatureHash?: string;
    orgId?: string;
    appId?: string;
    runAt?: string | number;
};
export type ExecutionEvent = {
    execId: string;
    jobId: string;
    status: 'success' | 'failed';
    startedAt: string;
    finishedAt: string;
    durationMs: number;
    exitCode?: number;
    errorMessage?: string;
    errorType?: string;
    errorStack?: string;
    stdout?: string;
    stderr?: string;
    attempt?: number;
    labels?: string[];
    metadata?: Record<string, unknown>;
    jobVersion?: string;
    appVersion?: string;
    codeSnippet?: string;
    codeLanguage?: string;
};
export declare class ChronosRunner {
    private client;
    private socket;
    private handlers;
    private connected;
    private pickUserStackFrame;
    constructor(config: ChronosSDKConfig);
    private truncate;
    private guessLanguageFromPath;
    private extractSnippetFromError;
    register(jobId: string, handler: () => Promise<unknown>): void;
    start(): void;
    stop(): void;
}
export default ChronosRunner;
//# sourceMappingURL=index.d.ts.map