import { ModelData, Model } from "@kubernetes-models/base";
/**
 * PushSpec specifies how and where to push commits.
 */
export interface IPushSpec {
    /**
     * Branch specifies that commits should be pushed to the branch
     * named. The branch is created using `.spec.checkout.branch` as the
     * starting point, if it doesn't already exist.
     */
    "branch"?: string;
    /**
     * Options specifies the push options that are sent to the Git
     * server when performing a push operation. For details, see:
     * https://git-scm.com/docs/git-push#Documentation/git-push.txt---push-optionltoptiongt
     */
    "options"?: {
        [key: string]: string;
    };
    /**
     * Refspec specifies the Git Refspec to use for a push operation.
     * If both Branch and Refspec are provided, then the commit is pushed
     * to the branch and also using the specified refspec.
     * For more details about Git Refspecs, see:
     * https://git-scm.com/book/en/v2/Git-Internals-The-Refspec
     */
    "refspec"?: string;
}
/**
 * PushSpec specifies how and where to push commits.
 */
export declare class PushSpec extends Model<IPushSpec> implements IPushSpec {
    "branch"?: string;
    "options"?: {
        [key: string]: string;
    };
    "refspec"?: string;
    constructor(data?: ModelData<IPushSpec>);
}
export type { IPushSpec as IComGithubFluxcdImageAutomationControllerApiV1PushSpec, PushSpec as ComGithubFluxcdImageAutomationControllerApiV1PushSpec };
