import { type ManualRestContractAuthId, type ManualRestContractHttpMethodId } from './cli-add-shared.js'; /** * Build the `REST_RESOURCES` config entry appended for a manual REST contract. * * @param options Manual contract file, route, type, and auth metadata. * @param options.auth Auth intent stored in the endpoint manifest. * @param options.bodyTypeName Optional exported body type name. * @param options.method Uppercase HTTP method for the external route. * @param options.namespace REST namespace such as `vendor/v1`. * @param options.pathPattern Route pattern relative to the namespace. * @param options.queryTypeName Exported query type name. * @param options.responseTypeName Exported response type name. * @param options.restResourceSlug Normalized workspace REST contract slug. * @returns A TypeScript object literal string for `scripts/block-config.ts`. */ export declare function buildManualRestContractConfigEntry(options: { auth: ManualRestContractAuthId; bodyTypeName?: string; controllerClass?: string; controllerExtends?: string; method: ManualRestContractHttpMethodId; namespace: string; pathPattern: string; permissionCallback?: string; queryTypeName: string; responseTypeName: string; restResourceSlug: string; secretFieldName?: string; secretPreserveOnEmpty?: boolean; secretStateFieldName?: string; }): string; /** * Build the editable TypeScript type source for a manual REST contract. * * @param options Manual contract type naming metadata. * @param options.bodyTypeName Optional exported body type name. * @param options.pathParameterNames Route named captures that should be present * in the starter query type so generated clients can fill provider paths. * @param options.queryTypeName Exported query type name. * @param options.responseTypeName Exported response type name. * @param options.restResourceSlug Normalized workspace REST contract slug. * @param options.secretFieldName Optional raw secret field included only in the request body. * @param options.secretStateFieldName Optional masked response boolean field. * @returns TypeScript source for `api-types.ts`. */ export declare function buildManualRestContractTypesSource(options: { bodyTypeName?: string; pathParameterNames?: string[]; queryTypeName: string; responseTypeName: string; restResourceSlug: string; secretFieldName?: string; secretPreserveOnEmpty?: boolean; secretStateFieldName?: string; }): string; /** * Build Typia validator source for a manual REST contract. * * @param options Manual contract type names to validate. * @param options.bodyTypeName Optional exported body type name. * @param options.queryTypeName Exported query type name. * @param options.responseTypeName Exported response type name. * @returns TypeScript source for `api-validators.ts`. */ export declare function buildManualRestContractValidatorsSource(options: { bodyTypeName?: string; queryTypeName: string; responseTypeName: string; }): string; /** * Build the public API shim for a manual REST contract. * * @param options Manual REST contract operation and request type metadata. * @returns TypeScript source that re-exports the generated endpoint client. */ export declare function buildManualRestContractApiSource(options: { bodyTypeName?: string; queryTypeName: string; restResourceSlug: string; }): string;