import type { IScope } from 'angular';
import type { IArtifactAccount } from '../account';
import type { IArtifactKindConfig } from '../domain';
export declare abstract class ExpectedArtifactSelectorViewControllerAngularDelegate<ArtifactSource> {
    protected $scope: IScope;
    protected sources: ArtifactSource[];
    protected kinds: IArtifactKindConfig[];
    protected accounts: IArtifactAccount[];
    constructor($scope: IScope);
    getExpectedArtifactSources(): ArtifactSource[];
    getSupportedArtifactKinds(): IArtifactKindConfig[];
    getExpectedArtifactAccounts(): IArtifactAccount[];
    setAccounts: (accounts: IArtifactAccount[]) => void;
    protected scopeApply(): void;
}
