import { NormalizedUpstreamOptions, OperationParameter, TypeImport } from '@rxap/ts-morph'; import { ClassDeclaration, Project, SourceFile, WriterFunction } from 'ts-morph'; import { CoerceOperationOptions as NEW_CoerceOperationOptions, CoerceDtoClassOutput, TransformOperation } from '@rxap/ts-morph'; import { CoerceOperationOptions } from './coerce-operation'; import { DtoClassProperty } from '@rxap/ts-morph'; export interface CoerceGetPageOperationOptions extends Omit { tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, pageClassName: string, rowClassName: string) => Partial; /** * the name of the property used as row id value. defaults to the value 'uuid'. If null the __rowId property will be * set to the absolute row index absolute row index = page * pageSize + rowIndex */ operationName?: string; coerceToRowDtoMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, rowClassName: string, options: CoerceGetPageOperationOptions) => void; coerceToPageDtoMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, pageClassName: string, rowClassName: string, options: CoerceGetPageOperationOptions) => void; coerceGetPageDataMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, options: CoerceGetPageOperationOptions) => void; coerceOperationDtoClass?: (classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, options: Readonly) => CoerceDtoClassOutput | null; upstream?: NormalizedUpstreamOptions | null; idProperty?: OperationParameter; rowId: DtoClassProperty | null; } export declare function GetPageOperationColumnToCodeText(property: DtoClassProperty): string; export declare function CoerceToRowDtoMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, rowClassName: string, options: CoerceGetPageOperationOptions): void; export declare function CoerceToPageDtoMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, pageClassName: string, rowClassName: string, options: CoerceGetPageOperationOptions): void; export declare function CoerceGetPageDataMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, options: CoerceGetPageOperationOptions): void; export declare function GetResponseTypeFromUpstream(upstream: NormalizedUpstreamOptions): TypeImport; export declare function GetRawRowDataType(options: Readonly): TypeImport; export declare function BuildGetPageGetDataImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly): TransformOperation; export declare function CoerceGetPageOperationDtoClass(classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, options: Readonly): CoerceDtoClassOutput | null; export declare function BuiltGetPageDtoDataMapperImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly): TransformOperation; export declare function CoerceGetPageOperation(options: Readonly): import("@angular-devkit/schematics").Rule;