import { TypeAliasDeclaration } from 'ts-morph'; import { NamedType } from './NamedType'; import type { ActionContext } from '../context'; import type { Nullable } from '@fresha/api-tools-core'; import type { SchemaModel } from '@fresha/openapi-model/build/3.0.3'; declare enum RelationshipCardinality { ZeroOrOne = "0", One = "1", Many = "N" } type RelationshipInfo = { resourceType: string; cardinality: RelationshipCardinality; required: boolean; }; export declare class ResourceType extends NamedType { resourceType: Nullable; attributesSchema: Nullable; relationships: Map; constructor(context: ActionContext, name: string, schema: SchemaModel, isRequestBody: boolean, isRequired: boolean); collectData(_namedTypes: Map): void; private collectAttributesData; private collectRelationshipsData; generateCode(generatedTypes: Set): void; protected generateJsDocs(typeAlias: TypeAliasDeclaration): void; } export {}; //# sourceMappingURL=ResourceType.d.ts.map