import * as core from "@terrascript/core";
export interface SortByArgs extends core.SchemaArgs {
    key?: string | core.StringOut;
    sortOrder?: string | core.StringOut;
}
export declare class SortBy extends core.Schema<SortByArgs> {
    key?: string | core.StringOut;
    sortOrder?: string | core.StringOut;
}
export interface TimePeriodArgs extends core.SchemaArgs {
    end: string | core.StringOut;
    start: string | core.StringOut;
}
export declare class TimePeriod extends core.Schema<TimePeriodArgs> {
    end: string | core.StringOut;
    start: string | core.StringOut;
}
export interface TagsBlkArgs extends core.SchemaArgs {
    key?: string | core.StringOut;
    matchOptions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class TagsBlk extends core.Schema<TagsBlkArgs> {
    key?: string | core.StringOut;
    matchOptions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface CostCategoryArgs extends core.SchemaArgs {
    key?: string | core.StringOut;
    matchOptions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class CostCategory extends core.Schema<CostCategoryArgs> {
    key?: string | core.StringOut;
    matchOptions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface DimensionArgs extends core.SchemaArgs {
    key?: string | core.StringOut;
    matchOptions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Dimension extends core.Schema<DimensionArgs> {
    key?: string | core.StringOut;
    matchOptions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    values?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface AndArgs extends core.SchemaArgs {
    costCategory?: CostCategory;
    dimension?: Dimension;
    tags?: TagsBlk;
}
export declare class And extends core.Schema<AndArgs> {
    costCategory?: CostCategory;
    dimension?: Dimension;
    tags?: TagsBlk;
}
export interface NotArgs extends core.SchemaArgs {
    costCategory?: CostCategory;
    dimension?: Dimension;
    tags?: TagsBlk;
}
export declare class Not extends core.Schema<NotArgs> {
    costCategory?: CostCategory;
    dimension?: Dimension;
    tags?: TagsBlk;
}
export interface OrArgs extends core.SchemaArgs {
    costCategory?: CostCategory;
    dimension?: Dimension;
    tags?: TagsBlk;
}
export declare class Or extends core.Schema<OrArgs> {
    costCategory?: CostCategory;
    dimension?: Dimension;
    tags?: TagsBlk;
}
export interface FilterArgs extends core.SchemaArgs {
    and?: core.Array<And> | core.ArrayOut<And>;
    costCategory?: CostCategory;
    dimension?: Dimension;
    not?: Not;
    or?: core.Array<Or> | core.ArrayOut<Or>;
    tags?: TagsBlk;
}
export declare class Filter extends core.Schema<FilterArgs> {
    and?: core.Array<And> | core.ArrayOut<And>;
    costCategory?: CostCategory;
    dimension?: Dimension;
    not?: Not;
    or?: core.Array<Or> | core.ArrayOut<Or>;
    tags?: TagsBlk;
}
export interface DsTagsArgs {
    filter?: Filter;
    searchString?: string | core.StringOut;
    sortBy?: core.Array<SortBy> | core.ArrayOut<SortBy>;
    tagKey?: string | core.StringOut;
    timePeriod: TimePeriod;
}
export declare class DsTags extends core.Data<DsTagsArgs> {
    filter?: Filter;
    id: string | core.StringOut;
    searchString?: string | core.StringOut;
    sortBy?: core.Array<SortBy> | core.ArrayOut<SortBy>;
    tagKey?: string | core.StringOut;
    tags: core.Array<string> | core.ArrayOut<core.StringOut>;
    timePeriod: TimePeriod;
    constructor(name: string, args?: DsTagsArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_tags.d.ts.map