import { Cron, CronStanza, Origin } from "@k8ts/instruments";
import { Timezone } from "@k8ts/instruments/src/timezone";
import { Meta, MutableMeta } from "@k8ts/metadata";
import { CDK } from "../../_imports";
import { ManifestResource } from "../../node/manifest-resource";
import { PodTemplate } from "../pod/pod-template";
export interface K8tsCronJobProps<CronSpec extends Cron.Record> extends Omit<CDK.CronJobSpec, "jobTemplate" | "schedule" | "timeZone"> {
    $schedule: CronStanza<CronSpec>;
    $template: PodTemplate.Props<never> & {
        restartPolicy: "Always" | "OnFailure" | "Never";
    };
    $meta?: Meta.Input;
    timeZone: Timezone;
}
export declare class K8tsCronJob<Cron extends Cron.Record> extends ManifestResource<K8tsCronJobProps<Cron>> {
    kind: import("@k8ts/instruments").Kind.Kind<"CronJob", import("@k8ts/instruments").Kind.Version<"v1", import("@k8ts/instruments").Kind.Group<"batch">>>;
    template: PodTemplate.PodTemplate<never>;
    constructor(origin: Origin, meta: Meta | MutableMeta, props: K8tsCronJobProps<Cron>);
}
//# sourceMappingURL=index.d.ts.map