import { AttributeModel } from "./attribute-model";
export declare class Struct {
    readonly name: string;
    readonly attributes: AttributeModel[];
    readonly isClass: boolean;
    readonly isAnonymous: boolean;
    isSingleItem: boolean;
    readonly nestingMode: string;
    constructor(name: string, attributes: AttributeModel[], isClass?: boolean, isAnonymous?: boolean, isSingleItem?: boolean, nestingMode?: string);
    get assignableAttributes(): AttributeModel[];
    get optionalAttributes(): AttributeModel[];
    get allOptional(): boolean;
    get attributeType(): string;
    get assignable(): boolean;
    get extends(): string;
    get mapperName(): string;
    get hclMapperName(): string;
    get outputReferenceName(): string;
    get listName(): string;
    get mapName(): string;
    get mapListName(): string;
    get listMapName(): string;
    get listListName(): string;
    get isProvider(): boolean;
    get referencedTypes(): string[];
    get exportCount(): number;
}
export declare class ConfigStruct extends Struct {
    get extends(): string;
}
//# sourceMappingURL=struct.d.ts.map