import { IComGithubFluxcdPkgApisMetaReconcileRequestStatus } from "../../github.com/fluxcd/pkg/apis/meta/ReconcileRequestStatus.js";
import { IComGithubFluxcdPkgApisMetaArtifact } from "../../github.com/fluxcd/pkg/apis/meta/Artifact.js";
import { IIoK8sApimachineryPkgApisMetaV1Condition } from "@kubernetes-models/apimachinery/apis/meta/v1/Condition";
import { IComGithubFluxcdSourceControllerApiV1GitRepositoryInclude } from "./GitRepositoryInclude.js";
import { IComGithubFluxcdSourceControllerApiV1GitVerificationMode } from "./GitVerificationMode.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * GitRepositoryStatus records the observed state of a Git repository.
 */
export interface IGitRepositoryStatus extends IComGithubFluxcdPkgApisMetaReconcileRequestStatus {
    /**
     * Artifact represents the last successful GitRepository reconciliation.
     */
    "artifact"?: IComGithubFluxcdPkgApisMetaArtifact;
    /**
     * Conditions holds the conditions for the GitRepository.
     */
    "conditions"?: Array<IIoK8sApimachineryPkgApisMetaV1Condition>;
    /**
     * IncludedArtifacts contains a list of the last successfully included
     * Artifacts as instructed by GitRepositorySpec.Include.
     */
    "includedArtifacts"?: Array<IComGithubFluxcdPkgApisMetaArtifact>;
    /**
     * ObservedGeneration is the last observed generation of the GitRepository
     * object.
     */
    "observedGeneration"?: number;
    /**
     * ObservedIgnore is the observed exclusion patterns used for constructing
     * the source artifact.
     */
    "observedIgnore"?: string;
    /**
     * ObservedInclude is the observed list of GitRepository resources used to
     * produce the current Artifact.
     */
    "observedInclude"?: Array<IComGithubFluxcdSourceControllerApiV1GitRepositoryInclude>;
    /**
     * ObservedRecurseSubmodules is the observed resource submodules
     * configuration used to produce the current Artifact.
     */
    "observedRecurseSubmodules"?: boolean;
    /**
     * ObservedSparseCheckout is the observed list of directories used to
     * produce the current Artifact.
     */
    "observedSparseCheckout"?: Array<string>;
    /**
     * SourceVerificationMode is the last used verification mode indicating
     * which Git object(s) have been verified.
     */
    "sourceVerificationMode"?: IComGithubFluxcdSourceControllerApiV1GitVerificationMode;
}
/**
 * GitRepositoryStatus records the observed state of a Git repository.
 */
export declare class GitRepositoryStatus extends Model<IGitRepositoryStatus> implements IGitRepositoryStatus {
    "lastHandledReconcileAt"?: string;
    "artifact"?: IComGithubFluxcdPkgApisMetaArtifact;
    "conditions"?: Array<IIoK8sApimachineryPkgApisMetaV1Condition>;
    "includedArtifacts"?: Array<IComGithubFluxcdPkgApisMetaArtifact>;
    "observedGeneration"?: number;
    "observedIgnore"?: string;
    "observedInclude"?: Array<IComGithubFluxcdSourceControllerApiV1GitRepositoryInclude>;
    "observedRecurseSubmodules"?: boolean;
    "observedSparseCheckout"?: Array<string>;
    "sourceVerificationMode"?: IComGithubFluxcdSourceControllerApiV1GitVerificationMode;
    constructor(data?: ModelData<IGitRepositoryStatus>);
}
export type { IGitRepositoryStatus as IComGithubFluxcdSourceControllerApiV1GitRepositoryStatus, GitRepositoryStatus as ComGithubFluxcdSourceControllerApiV1GitRepositoryStatus };
