import { E_UNRESOLVABLE_MODEL } from "../../../errors"; import type { ElementCompact } from "../../../bundled_xml_js"; import type { HttpContext } from '@adonisjs/core/http'; import type { AnySchema } from "../../../joi"; import type { ApplicationService } from '@adonisjs/core/types'; import type { ResourcefulRouterModelServiceOptionsService } from "../services/resourceful_router_model_options_service"; import type { ResourcefulModel, ResourcefulIndexResult, ServableResourcefulIndexResult, ResourcefulIndexResponse, ResourceResourcefulRecordResponse, ResourcefulQueryScopeCallback, ResourcefulPayloadSchemaGetter, ResourcefulPolicy, ResourcefulRouterMutatorOptions } from "../../../types"; export type ResourcefulModelControllerHooks = { index: [ [ ResourcefulIndexResponse, HttpContext ], [ error: Error | null, ResourcefulIndexResponse, HttpContext ] ]; create: [ [ ResourceResourcefulRecordResponse, HttpContext ], [ error: Error | null, ResourceResourcefulRecordResponse, HttpContext ] ]; read: [ [ ResourceResourcefulRecordResponse, HttpContext ], [ error: Error | null, ResourceResourcefulRecordResponse, HttpContext ] ]; readRelated: [ [ ResourcefulIndexResponse, HttpContext ], [ error: Error | null, ResourcefulIndexResponse, HttpContext ] ]; update: [ [ ResourceResourcefulRecordResponse, HttpContext ], [ error: Error | null, ResourceResourcefulRecordResponse, HttpContext ] ]; }; export declare class ResourcefulModelController { #private; get options(): ResourcefulRouterModelServiceOptionsService; constructor(subpath: string, model: Promise, options: ResourcefulRouterModelServiceOptionsService, headers: { [key: string]: string; }, groupResourcefulQueryScopeCallbacks?: ResourcefulQueryScopeCallback[], groupResourcefulPayloadSchemaGetters?: ResourcefulPayloadSchemaGetter[], groupResourcefulRouterMutatorOptions?: ResourcefulRouterMutatorOptions, groupResourcefulPolicies?: ResourcefulPolicy[]); resolveRequestRequirements(ctx: HttpContext): Promise<{ model: ResourcefulModel; app: ApplicationService; prefix: string; serveAs: "html" | "yaml" | "json"; method: string; url: string; respond: (status: number, body: any, headers?: { [key: string]: string; }) => void; }>; serveModelIndex(ctx: HttpContext): Promise; serveModelShortcut(ctx: HttpContext): Promise; serveModelIndexMeta(ctx: HttpContext): Promise; serveModelCreate(ctx: HttpContext): Promise; serveModelCreateMeta(ctx: HttpContext): Promise; serveModelRead(ctx: HttpContext): Promise; serveModelReadRelated(ctx: HttpContext): Promise; serveModelReadRelatedShortcut(ctx: HttpContext): Promise; serveModelReadRelatedMeta(ctx: HttpContext): Promise; serveModelUpdate(ctx: HttpContext): Promise; serveModelUpdateMeta(ctx: HttpContext): Promise; serveModelBulkUpdate(ctx: HttpContext): Promise; serveModelBulkUpdateMeta(ctx: HttpContext): Promise; serveModelSyncRelated(ctx: HttpContext): Promise; serveModelDelete(ctx: HttpContext): Promise; static resourcefulIndexResultToConsumable(result: ResourcefulIndexResult): ServableResourcefulIndexResult; static resourcefulIndexResultToXmlConsumable(result: ResourcefulIndexResult): ElementCompact; static getResourcefulModelCreatePayloadValidationSchema(model: ResourcefulModel, ctx: HttpContext, app: ApplicationService): Promise>; }