import * as core from "@terrascript/core";
export interface CustomFieldArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    type?: string | core.StringOut;
}
export declare class CustomField extends core.Schema<CustomFieldArgs> {
    name?: string | core.StringOut;
    type?: string | core.StringOut;
}
export interface ManagedFieldArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    type?: string | core.StringOut;
}
export declare class ManagedField extends core.Schema<ManagedFieldArgs> {
    name?: string | core.StringOut;
    type?: string | core.StringOut;
}
export interface ThingIndexingConfigurationArgs extends core.SchemaArgs {
    customField?: core.Array<CustomField> | core.ArrayOut<CustomField>;
    deviceDefenderIndexingMode?: string | core.StringOut;
    managedField?: core.Array<ManagedField> | core.ArrayOut<ManagedField>;
    namedShadowIndexingMode?: string | core.StringOut;
    thingConnectivityIndexingMode?: string | core.StringOut;
    thingIndexingMode: string | core.StringOut;
}
export declare class ThingIndexingConfiguration extends core.Schema<ThingIndexingConfigurationArgs> {
    customField?: core.Array<CustomField> | core.ArrayOut<CustomField>;
    deviceDefenderIndexingMode?: string | core.StringOut;
    managedField?: core.Array<ManagedField> | core.ArrayOut<ManagedField>;
    namedShadowIndexingMode?: string | core.StringOut;
    thingConnectivityIndexingMode?: string | core.StringOut;
    thingIndexingMode: string | core.StringOut;
}
export interface ThingGroupIndexingConfigurationArgs extends core.SchemaArgs {
    customField?: core.Array<CustomField> | core.ArrayOut<CustomField>;
    managedField?: core.Array<ManagedField> | core.ArrayOut<ManagedField>;
    thingGroupIndexingMode: string | core.StringOut;
}
export declare class ThingGroupIndexingConfiguration extends core.Schema<ThingGroupIndexingConfigurationArgs> {
    customField?: core.Array<CustomField> | core.ArrayOut<CustomField>;
    managedField?: core.Array<ManagedField> | core.ArrayOut<ManagedField>;
    thingGroupIndexingMode: string | core.StringOut;
}
export interface IndexingConfigurationArgs extends core.ResourceArgs {
    thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration;
    thingIndexingConfiguration?: ThingIndexingConfiguration;
}
export declare class IndexingConfiguration extends core.Resource<IndexingConfigurationArgs> {
    id: string | core.StringOut;
    thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration;
    thingIndexingConfiguration?: ThingIndexingConfiguration;
    constructor(name: string, args?: IndexingConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=indexing_configuration.d.ts.map