import type { JsonValue } from '../control-plane';
import type { ScheduledJob } from './model';
export interface JobProviderCapability {
    provider: ScheduledJob['provider'];
    supported: boolean;
    features: {
        timezone: boolean;
        flexibleWindow: boolean;
        catchUp: boolean;
        replaceOverlap: boolean;
    };
    notes: string[];
}
export declare function jobProviderCapability(job: Pick<ScheduledJob, 'provider' | 'expression' | 'flexibleMinutes' | 'missedRunPolicy' | 'overlapPolicy'>): JobProviderCapability;
export declare function renderServerCron(job: ScheduledJob): {
    path: string;
    content: string;
};
export declare function eventBridgeScheduleInput(job: ScheduledJob): Record<string, JsonValue>;
export declare function reconcileJobObservation(job: ScheduledJob, observed: Record<string, JsonValue> | undefined): {
    status: ScheduledJob['reconciliationStatus'];
    observedState: Record<string, JsonValue>;
};
