import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorAWSCodeCommit } from "./SCMProviderGeneratorAWSCodeCommit.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorAzureDevOps } from "./SCMProviderGeneratorAzureDevOps.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorBitbucket } from "./SCMProviderGeneratorBitbucket.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorBitbucketServer } from "./SCMProviderGeneratorBitbucketServer.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorFilter } from "./SCMProviderGeneratorFilter.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGitea } from "./SCMProviderGeneratorGitea.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGithub } from "./SCMProviderGeneratorGithub.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGitlab } from "./SCMProviderGeneratorGitlab.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate } from "./ApplicationSetTemplate.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * SCMProviderGenerator defines a generator that scrapes a SCMaaS API to find candidate repos.
 */
export interface ISCMProviderGenerator {
    "awsCodeCommit"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorAWSCodeCommit;
    "azureDevOps"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorAzureDevOps;
    "bitbucket"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorBitbucket;
    "bitbucketServer"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorBitbucketServer;
    /**
     * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers
     * necessarily support all protocols.
     */
    "cloneProtocol"?: string;
    /**
     * Filters for which repos should be considered.
     */
    "filters"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorFilter>;
    "gitea"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGitea;
    /**
     * Which provider to use and config for it.
     */
    "github"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGithub;
    "gitlab"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGitlab;
    /**
     * Standard parameters.
     */
    "requeueAfterSeconds"?: number;
    "template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
    /**
     * Values contains key/value pairs which are passed directly as parameters to the template
     */
    "values"?: {
        [key: string]: string;
    };
}
/**
 * SCMProviderGenerator defines a generator that scrapes a SCMaaS API to find candidate repos.
 */
export declare class SCMProviderGenerator extends Model<ISCMProviderGenerator> implements ISCMProviderGenerator {
    "awsCodeCommit"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorAWSCodeCommit;
    "azureDevOps"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorAzureDevOps;
    "bitbucket"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorBitbucket;
    "bitbucketServer"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorBitbucketServer;
    "cloneProtocol"?: string;
    "filters"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorFilter>;
    "gitea"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGitea;
    "github"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGithub;
    "gitlab"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorGitlab;
    "requeueAfterSeconds"?: number;
    "template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
    "values"?: {
        [key: string]: string;
    };
    constructor(data?: ModelData<ISCMProviderGenerator>);
}
export type { ISCMProviderGenerator as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGenerator, SCMProviderGenerator as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGenerator };
