import type { IScope } from 'angular';
import type { IExpectedArtifactSelectorViewControllerDelegate } from './ExpectedArtifactSelectorViewController';
import { ExpectedArtifactSelectorViewControllerAngularDelegate } from './ExpectedArtifactSelectorViewControllerAngularDelegate';
import type { IArtifactAccount } from '../account';
import type { IArtifactSource, IExpectedArtifact, IPipeline, IStage } from '../domain';
export declare const defaultExcludedArtifactTypes: RegExp[];
export declare class NgGenericArtifactDelegate extends ExpectedArtifactSelectorViewControllerAngularDelegate<IArtifactSource<IStage | IPipeline>> implements IExpectedArtifactSelectorViewControllerDelegate {
    protected $scope: IScope;
    private tag;
    private excludedArtifactTypes;
    constructor($scope: IScope, tag: string, excludedArtifactTypes?: RegExp[]);
    getExcludedArtifactTypes: () => RegExp[];
    getExpectedArtifacts: () => IExpectedArtifact[];
    getSelectedExpectedArtifact: () => IExpectedArtifact;
    getSelectedAccount: () => IArtifactAccount;
    setSelectedExpectedArtifact: (expectedArtifact: IExpectedArtifact) => void;
    setSelectedArtifactAccount(account: IArtifactAccount): void;
    createArtifact(): void;
    refreshExpectedArtifacts(): void;
}
