import Adapt, { AdaptElement, BuildData, DeferredComponent, ObserveForStatus } from "@adpt/core";
import { ClusterInfo, ResourceProps } from "./common";
import { ContainerSpec } from "./Container";
/** @public */
export interface PodProps {
    config: ClusterInfo;
    terminationGracePeriodSeconds?: number;
    children: AdaptElement | AdaptElement[];
}
/**
 * Component for Kubernetes Pods
 *
 * @public
 */
export declare class Pod extends DeferredComponent<PodProps> {
    static defaultProps: {
        terminationGracePeriodSeconds: number;
    };
    build(): Adapt.AdaptElementOrNull;
    status(_observe: ObserveForStatus, buildData: BuildData): Promise<{} | undefined>;
}
/**
 * Spec for for Kubernetes Pods
 *
 * @public
 */
export interface PodSpec {
    containers: ContainerSpec[];
    terminationGracePeriodSeconds?: number;
}
declare function deployedWhen(statusObj: unknown): true | Adapt.Waiting;
/** @internal */
export declare const podResourceInfo: {
    kind: string;
    apiName: string;
    deployedWhen: typeof deployedWhen;
    statusQuery: (props: ResourceProps, observe: Adapt.ObserveForStatus<unknown>, buildData: Adapt.BuildData) => Promise<any>;
};
export {};
//# sourceMappingURL=Pod.d.ts.map