import * as core from "@terrascript/core";
export interface TargetsArgs extends core.SchemaArgs {
    key: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Targets extends core.Schema<TargetsArgs> {
    key: string | core.StringOut;
    values: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface OutputLocationArgs extends core.SchemaArgs {
    s3BucketName: string | core.StringOut;
    s3KeyPrefix?: string | core.StringOut;
    s3Region?: string | core.StringOut;
}
export declare class OutputLocation extends core.Schema<OutputLocationArgs> {
    s3BucketName: string | core.StringOut;
    s3KeyPrefix?: string | core.StringOut;
    s3Region?: string | core.StringOut;
}
export interface AssociationArgs extends core.ResourceArgs {
    applyOnlyAtCronInterval?: boolean | core.BooleanOut;
    associationName?: string | core.StringOut;
    automationTargetParameterName?: string | core.StringOut;
    complianceSeverity?: string | core.StringOut;
    documentVersion?: string | core.StringOut;
    instanceId?: string | core.StringOut;
    maxConcurrency?: string | core.StringOut;
    maxErrors?: string | core.StringOut;
    name: string | core.StringOut;
    outputLocation?: OutputLocation;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    scheduleExpression?: string | core.StringOut;
    targets?: core.Array<Targets> | core.ArrayOut<Targets>;
    waitForSuccessTimeoutSeconds?: number | core.NumberOut;
}
export declare class Association extends core.Resource<AssociationArgs> {
    applyOnlyAtCronInterval?: boolean | core.BooleanOut;
    arn: string | core.StringOut;
    associationId: string | core.StringOut;
    associationName?: string | core.StringOut;
    automationTargetParameterName?: string | core.StringOut;
    complianceSeverity?: string | core.StringOut;
    documentVersion?: string | core.StringOut;
    id: string | core.StringOut;
    instanceId?: string | core.StringOut;
    maxConcurrency?: string | core.StringOut;
    maxErrors?: string | core.StringOut;
    name: string | core.StringOut;
    outputLocation?: OutputLocation;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    scheduleExpression?: string | core.StringOut;
    targets?: core.Array<Targets> | core.ArrayOut<Targets>;
    waitForSuccessTimeoutSeconds?: number | core.NumberOut;
    constructor(name: string, args?: AssociationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=association.d.ts.map