import { ModelData, Model } from "@kubernetes-models/base";
/**
 * SCMProviderGeneratorFilter is a single repository filter.
 * If multiple filter types are set on a single struct, they will be AND'd together. All filters must
 * pass for a repo to be included.
 */
export interface ISCMProviderGeneratorFilter {
    /**
     * A regex which must match the branch name.
     */
    "branchMatch"?: string;
    /**
     * A regex which must match at least one label.
     */
    "labelMatch"?: string;
    /**
     * An array of paths, all of which must not exist.
     */
    "pathsDoNotExist"?: Array<string>;
    /**
     * An array of paths, all of which must exist.
     */
    "pathsExist"?: Array<string>;
    /**
     * A regex for repo names.
     */
    "repositoryMatch"?: string;
}
/**
 * SCMProviderGeneratorFilter is a single repository filter.
 * If multiple filter types are set on a single struct, they will be AND'd together. All filters must
 * pass for a repo to be included.
 */
export declare class SCMProviderGeneratorFilter extends Model<ISCMProviderGeneratorFilter> implements ISCMProviderGeneratorFilter {
    "branchMatch"?: string;
    "labelMatch"?: string;
    "pathsDoNotExist"?: Array<string>;
    "pathsExist"?: Array<string>;
    "repositoryMatch"?: string;
    constructor(data?: ModelData<ISCMProviderGeneratorFilter>);
}
export type { ISCMProviderGeneratorFilter as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorFilter, SCMProviderGeneratorFilter as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGeneratorFilter };
