import { CodeModel, ObjectSchema, Property, Parameter, VirtualParameter, Request } from "@autorest/codemodel"; import { Session } from "@autorest/extension-base"; import { ModelerFourOptions } from "../modeler/modelerfour-options"; export declare class Flattener { protected session: Session; codeModel: CodeModel; options: ModelerFourOptions; threshold: number; recursePayload: boolean; constructor(session: Session); init(): Promise; getFlattenedParameters(parameter: Parameter, property: Property, path?: Array): Iterable; /** * This flattens an request's parameters (ie, takes the parameters from an operation and if they are objects will attempt to create inline versions of them) */ flattenPayload(request: Request, parameter: Parameter, schema: ObjectSchema): void; /** * This will flatten models that are marked 'x-ms-client-flatten' * @param schema schema to recursively flatten */ flattenSchema(schema: ObjectSchema): void; process(): CodeModel; private flattenModels; private removeUnusedFlattenModels; private isReferencedByOthers; private flattenPayloads; } //# sourceMappingURL=flattener.d.ts.map