import { IAuditable, IDomainEntity } from "@codiac.io/codiac-common";
import { CriteriaBase } from "@codiac.io/codiac-common/contracts";
import { CloudProviderEnum } from "@codiac.io/codiac-domain";
import { ICloudAccountRef } from "./i-cloud-account-ref";
/** A reference to a third party cloud resource provider account. */
export declare abstract class CloudAccountRefBase implements ICloudAccountRef, IDomainEntity, IAuditable {
    providerCode: CloudProviderEnum;
    accountName: string;
    constructor(providerCode: CloudProviderEnum, accountName: string, id?: string, modified?: Date, modifiedBy?: string, created?: Date, createdBy?: string);
    id: string | undefined;
    created: Date;
    createdBy: string;
    modified: Date;
    modifiedBy: string;
}
export declare class CloudAccountRefCriteria extends CriteriaBase<CloudAccountRefBase> {
    providerCode?: CloudProviderEnum;
    accountName?: string;
}
export declare class AzureSubscriptionRef extends CloudAccountRefBase {
    subscriptionId: string;
    tenantId: string;
    constructor(subscriptionId: string, accountName: string, tenantId: string, id?: string, modified?: Date, modifiedBy?: string, created?: Date, createdBy?: string);
}
export declare class AwsAccountRef extends CloudAccountRefBase {
    accountId: string;
    constructor(accountId: string, accountName: string, id?: string, modified?: Date, modifiedBy?: string, created?: Date, createdBy?: string);
}
