import { IComGithubFluxcdImageAutomationControllerApiV1beta2GitCheckoutSpec } from "./GitCheckoutSpec.js";
import { IComGithubFluxcdImageAutomationControllerApiV1beta2CommitSpec } from "./CommitSpec.js";
import { IComGithubFluxcdImageAutomationControllerApiV1beta2PushSpec } from "./PushSpec.js";
import { ModelData, Model } from "@kubernetes-models/base";
export interface IGitSpec {
    /**
     * Checkout gives the parameters for cloning the git repository,
     * ready to make changes. If not present, the `spec.ref` field from the
     * referenced `GitRepository` or its default will be used.
     */
    "checkout"?: IComGithubFluxcdImageAutomationControllerApiV1beta2GitCheckoutSpec;
    /**
     * Commit specifies how to commit to the git repository.
     */
    "commit": IComGithubFluxcdImageAutomationControllerApiV1beta2CommitSpec;
    /**
     * Push specifies how and where to push commits made by the
     * automation. If missing, commits are pushed (back) to
     * `.spec.checkout.branch` or its default.
     */
    "push"?: IComGithubFluxcdImageAutomationControllerApiV1beta2PushSpec;
}
export declare class GitSpec extends Model<IGitSpec> implements IGitSpec {
    "checkout"?: IComGithubFluxcdImageAutomationControllerApiV1beta2GitCheckoutSpec;
    "commit": IComGithubFluxcdImageAutomationControllerApiV1beta2CommitSpec;
    "push"?: IComGithubFluxcdImageAutomationControllerApiV1beta2PushSpec;
    constructor(data?: ModelData<IGitSpec>);
}
export type { IGitSpec as IComGithubFluxcdImageAutomationControllerApiV1beta2GitSpec, GitSpec as ComGithubFluxcdImageAutomationControllerApiV1beta2GitSpec };
