import type { IArtifactAccount } from '../account'; import type { IArtifactKindConfig, IArtifactSource, IExpectedArtifact } from '../domain'; export interface IExpectedArtifactSelectorViewControllerDelegate { getExpectedArtifacts(): IExpectedArtifact[]; getSelectedExpectedArtifact(): IExpectedArtifact; getExpectedArtifactAccounts(): IArtifactAccount[]; getSelectedAccount(): IArtifactAccount; getExpectedArtifactSources(): Array>; getOfferedArtifactTypes?(): RegExp[]; getExcludedArtifactTypes?(): RegExp[]; getSupportedArtifactKinds(): IArtifactKindConfig[]; setSelectedExpectedArtifact(e: IExpectedArtifact): void; setSelectedArtifactAccount(a: IArtifactAccount): void; createArtifact(): void; refreshExpectedArtifacts(): void; } export declare class ExpectedArtifactSelectorViewController { private delegate; accountsForArtifact: IArtifactAccount[]; static $inject: string[]; constructor(delegate: IExpectedArtifactSelectorViewControllerDelegate); updateAccounts: (expectedArtifact: IExpectedArtifact) => void; onArtifactChange: (expectedArtifact: IExpectedArtifact) => void; onArtifactCreated: (event: { expectedArtifact: IExpectedArtifact; account: IArtifactAccount; source: IArtifactSource; }) => void; onRequestCreate: () => void; onAccountChange: (account: IArtifactAccount) => void; }