import * as core from "@terrascript/core";
export interface PrimaryKeyArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    region: string | core.StringOut;
}
export declare class PrimaryKey extends core.Schema<PrimaryKeyArgs> {
    arn: string | core.StringOut;
    region: string | core.StringOut;
}
export interface ReplicaKeysArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    region: string | core.StringOut;
}
export declare class ReplicaKeys extends core.Schema<ReplicaKeysArgs> {
    arn: string | core.StringOut;
    region: string | core.StringOut;
}
export interface MultiRegionConfigurationArgs extends core.SchemaArgs {
    multiRegionKeyType: string | core.StringOut;
    primaryKey: core.Array<PrimaryKey> | core.ArrayOut<PrimaryKey>;
    replicaKeys: core.Array<ReplicaKeys> | core.ArrayOut<ReplicaKeys>;
}
export declare class MultiRegionConfiguration extends core.Schema<MultiRegionConfigurationArgs> {
    multiRegionKeyType: string | core.StringOut;
    primaryKey: core.Array<PrimaryKey> | core.ArrayOut<PrimaryKey>;
    replicaKeys: core.Array<ReplicaKeys> | core.ArrayOut<ReplicaKeys>;
}
export interface DsKeyArgs {
    grantTokens?: core.Array<string> | core.ArrayOut<core.StringOut>;
    keyId: string | core.StringOut;
}
export declare class DsKey extends core.Data<DsKeyArgs> {
    arn: string | core.StringOut;
    awsAccountId: string | core.StringOut;
    creationDate: string | core.StringOut;
    customerMasterKeySpec: string | core.StringOut;
    deletionDate: string | core.StringOut;
    description: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
    expirationModel: string | core.StringOut;
    grantTokens?: core.Array<string> | core.ArrayOut<core.StringOut>;
    id: string | core.StringOut;
    keyId: string | core.StringOut;
    keyManager: string | core.StringOut;
    keyState: string | core.StringOut;
    keyUsage: string | core.StringOut;
    multiRegion: boolean | core.BooleanOut;
    multiRegionConfiguration: core.Array<MultiRegionConfiguration> | core.ArrayOut<MultiRegionConfiguration>;
    origin: string | core.StringOut;
    validTo: string | core.StringOut;
    constructor(name: string, args?: DsKeyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_key.d.ts.map