import * as core from "@terrascript/core";
export interface StreamModeDetailsArgs extends core.SchemaArgs {
    streamMode: string | core.StringOut;
}
export declare class StreamModeDetails extends core.Schema<StreamModeDetailsArgs> {
    streamMode: string | core.StringOut;
}
export interface StreamArgs extends core.ResourceArgs {
    arn?: string | core.StringOut;
    encryptionType?: string | core.StringOut;
    enforceConsumerDeletion?: boolean | core.BooleanOut;
    kmsKeyId?: string | core.StringOut;
    name: string | core.StringOut;
    retentionPeriod?: number | core.NumberOut;
    shardCount?: number | core.NumberOut;
    shardLevelMetrics?: core.Array<string> | core.ArrayOut<core.StringOut>;
    streamModeDetails?: StreamModeDetails;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Stream extends core.Resource<StreamArgs> {
    arn?: string | core.StringOut;
    encryptionType?: string | core.StringOut;
    enforceConsumerDeletion?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    name: string | core.StringOut;
    retentionPeriod?: number | core.NumberOut;
    shardCount?: number | core.NumberOut;
    shardLevelMetrics?: core.Array<string> | core.ArrayOut<core.StringOut>;
    streamModeDetails?: StreamModeDetails;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: StreamArgs);
    getNamespace(): string;
}
//# sourceMappingURL=stream.d.ts.map