import * as core from "@terrascript/core";
export interface FilterArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Filter extends core.Schema<FilterArgs> {
    name: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface DsSnapshotArgs {
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    mostRecent?: boolean | core.BooleanOut;
    owners?: core.Array<string> | core.ArrayOut<core.StringOut>;
    restorableByUserIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    snapshotIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsSnapshot extends core.Data<DsSnapshotArgs> {
    arn: string | core.StringOut;
    dataEncryptionKeyId: string | core.StringOut;
    description: string | core.StringOut;
    encrypted: boolean | core.BooleanOut;
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
    id: string | core.StringOut;
    kmsKeyId: string | core.StringOut;
    mostRecent?: boolean | core.BooleanOut;
    outpostArn: string | core.StringOut;
    ownerAlias: string | core.StringOut;
    ownerId: string | core.StringOut;
    owners?: core.Array<string> | core.ArrayOut<core.StringOut>;
    restorableByUserIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    snapshotId: string | core.StringOut;
    snapshotIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    state: string | core.StringOut;
    storageTier: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    volumeId: string | core.StringOut;
    volumeSize: number | core.NumberOut;
    constructor(name: string, args?: DsSnapshotArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_snapshot.d.ts.map