import * as core from "@terrascript/core";
export interface TagFilterArgs extends core.SchemaArgs {
    key: string | core.StringOut;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class TagFilter extends core.Schema<TagFilterArgs> {
    key: string | core.StringOut;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface ComplianceDetailsArgs extends core.SchemaArgs {
    complianceStatus: boolean | core.BooleanOut;
    keysWithNoncompliantValues: core.Array<string> | core.ArrayOut<core.StringOut>;
    nonCompliantKeys: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class ComplianceDetails extends core.Schema<ComplianceDetailsArgs> {
    complianceStatus: boolean | core.BooleanOut;
    keysWithNoncompliantValues: core.Array<string> | core.ArrayOut<core.StringOut>;
    nonCompliantKeys: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface ResourceTagMappingListArgs extends core.SchemaArgs {
    complianceDetails: core.Array<ComplianceDetails> | core.ArrayOut<ComplianceDetails>;
    resourceArn: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class ResourceTagMappingList extends core.Schema<ResourceTagMappingListArgs> {
    complianceDetails: core.Array<ComplianceDetails> | core.ArrayOut<ComplianceDetails>;
    resourceArn: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export interface DsApiResourcesArgs {
    excludeCompliantResources?: boolean | core.BooleanOut;
    includeComplianceDetails?: boolean | core.BooleanOut;
    resourceArnList?: core.Array<string> | core.ArrayOut<core.StringOut>;
    resourceTypeFilters?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tagFilter?: core.Array<TagFilter> | core.ArrayOut<TagFilter>;
}
export declare class DsApiResources extends core.Data<DsApiResourcesArgs> {
    excludeCompliantResources?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    includeComplianceDetails?: boolean | core.BooleanOut;
    resourceArnList?: core.Array<string> | core.ArrayOut<core.StringOut>;
    resourceTagMappingList: core.Array<ResourceTagMappingList> | core.ArrayOut<ResourceTagMappingList>;
    resourceTypeFilters?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tagFilter?: core.Array<TagFilter> | core.ArrayOut<TagFilter>;
    constructor(name: string, args?: DsApiResourcesArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_api_resources.d.ts.map