import * as core from "@terrascript/core";
export interface EngineVersionArgs extends core.SchemaArgs {
    effectiveEngineVersion: string | core.StringOut;
    selectedEngineVersion?: string | core.StringOut;
}
export declare class EngineVersion extends core.Schema<EngineVersionArgs> {
    effectiveEngineVersion: string | core.StringOut;
    selectedEngineVersion?: string | core.StringOut;
}
export interface EncryptionConfigurationArgs extends core.SchemaArgs {
    encryptionOption?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
}
export declare class EncryptionConfiguration extends core.Schema<EncryptionConfigurationArgs> {
    encryptionOption?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
}
export interface AclConfigurationArgs extends core.SchemaArgs {
    s3AclOption: string | core.StringOut;
}
export declare class AclConfiguration extends core.Schema<AclConfigurationArgs> {
    s3AclOption: string | core.StringOut;
}
export interface ResultConfigurationArgs extends core.SchemaArgs {
    aclConfiguration?: AclConfiguration;
    encryptionConfiguration?: EncryptionConfiguration;
    expectedBucketOwner?: string | core.StringOut;
    outputLocation?: string | core.StringOut;
}
export declare class ResultConfiguration extends core.Schema<ResultConfigurationArgs> {
    aclConfiguration?: AclConfiguration;
    encryptionConfiguration?: EncryptionConfiguration;
    expectedBucketOwner?: string | core.StringOut;
    outputLocation?: string | core.StringOut;
}
export interface ConfigurationArgs extends core.SchemaArgs {
    bytesScannedCutoffPerQuery?: number | core.NumberOut;
    enforceWorkgroupConfiguration?: boolean | core.BooleanOut;
    engineVersion?: EngineVersion;
    publishCloudwatchMetricsEnabled?: boolean | core.BooleanOut;
    requesterPaysEnabled?: boolean | core.BooleanOut;
    resultConfiguration?: ResultConfiguration;
}
export declare class Configuration extends core.Schema<ConfigurationArgs> {
    bytesScannedCutoffPerQuery?: number | core.NumberOut;
    enforceWorkgroupConfiguration?: boolean | core.BooleanOut;
    engineVersion?: EngineVersion;
    publishCloudwatchMetricsEnabled?: boolean | core.BooleanOut;
    requesterPaysEnabled?: boolean | core.BooleanOut;
    resultConfiguration?: ResultConfiguration;
}
export interface WorkgroupArgs extends core.ResourceArgs {
    configuration?: Configuration;
    description?: string | core.StringOut;
    forceDestroy?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    state?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Workgroup extends core.Resource<WorkgroupArgs> {
    arn: string | core.StringOut;
    configuration?: Configuration;
    description?: string | core.StringOut;
    forceDestroy?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    state?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: WorkgroupArgs);
    getNamespace(): string;
}
//# sourceMappingURL=workgroup.d.ts.map