import type { S3BucketName } from "../../../aws/CustomTypes/S3BucketName";
import type { ObjectValidations } from '@altostra/type-validations';
import type { AWSRegion } from 'aws-sdk/clients/cur';
import type { ISODate } from "../../CustomTypes/ISODate";
import type { NonEmptyString } from "../../CustomTypes/NonEmptyString";
import type { RoleStatus } from "../AwsAccount";
export type { RoleStatus };
export declare type AltostraAccountId = string;
export declare type AccountId = string;
export declare type ExternalCustomerId = string;
export declare type Vendor = 'AWS' | 'Playground';
export interface CrossAccountInfo {
    altostraAccountId: AltostraAccountId;
    accountName: NonEmptyString;
    integrationAccountId: AccountId;
    roleStatus: RoleStatus;
    vendor: Vendor;
    bucketArn?: string;
    bucketPath?: string;
    createdAt?: ISODate;
    updatedAt?: ISODate;
    isDefault?: boolean;
}
export interface DisplayCrossAccountInfo extends CrossAccountInfo {
    region?: AWSRegion;
}
export interface CrossAccountCredentials extends CrossAccountInfo {
    externalId: ExternalCustomerId;
    roleArn?: string;
    bucketName: S3BucketName;
    region?: string;
    stackId?: string;
    correlationId?: string;
}
export declare const crossAccountInfoValidations: ObjectValidations<CrossAccountInfo>;
export declare const isCrossAccountInfo: import("@altostra/type-validations").ObjectOfTypeValidation<CrossAccountInfo>;
export declare const isDisplayCrossAccountInfo: import("@altostra/type-validations").ObjectOfTypeValidation<DisplayCrossAccountInfo>;
export declare const isCrossAccountCredentials: import("@altostra/type-validations").ObjectOfTypeValidation<CrossAccountCredentials>;
