import * as core from "@terrascript/core";
export interface RootToParentGroupsArgs extends core.SchemaArgs {
    groupArn: string | core.StringOut;
    groupName: string | core.StringOut;
}
export declare class RootToParentGroups extends core.Schema<RootToParentGroupsArgs> {
    groupArn: string | core.StringOut;
    groupName: string | core.StringOut;
}
export interface MetadataArgs extends core.SchemaArgs {
    creationDate: string | core.StringOut;
    parentGroupName: string | core.StringOut;
    rootToParentGroups: core.Array<RootToParentGroups> | core.ArrayOut<RootToParentGroups>;
}
export declare class Metadata extends core.Schema<MetadataArgs> {
    creationDate: string | core.StringOut;
    parentGroupName: string | core.StringOut;
    rootToParentGroups: core.Array<RootToParentGroups> | core.ArrayOut<RootToParentGroups>;
}
export interface AttributePayloadArgs extends core.SchemaArgs {
    attributes?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class AttributePayload extends core.Schema<AttributePayloadArgs> {
    attributes?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export interface PropertiesArgs extends core.SchemaArgs {
    attributePayload?: AttributePayload;
    description?: string | core.StringOut;
}
export declare class Properties extends core.Schema<PropertiesArgs> {
    attributePayload?: AttributePayload;
    description?: string | core.StringOut;
}
export interface ThingGroupArgs extends core.ResourceArgs {
    name: string | core.StringOut;
    parentGroupName?: string | core.StringOut;
    properties?: Properties;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class ThingGroup extends core.Resource<ThingGroupArgs> {
    arn: string | core.StringOut;
    id: string | core.StringOut;
    metadata: core.Array<Metadata> | core.ArrayOut<Metadata>;
    name: string | core.StringOut;
    parentGroupName?: string | core.StringOut;
    properties?: Properties;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    version: number | core.NumberOut;
    constructor(name: string, args?: ThingGroupArgs);
    getNamespace(): string;
}
//# sourceMappingURL=thing_group.d.ts.map