import type { ObjectSchema, PropertySchema, ShapeJSON } from '../project-schema/index.ts';
import type { ResolvedTemplate, TemplateContext } from './types.ts';
import { TemplateVerbs } from './types.ts';
export declare const TSGetArgs: (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const TSGetSingletonArgs: (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const TSListArgs: (context: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare const TSSearchArgs: (context: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare const CreateArgs: ({ projectSchema }: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare const UpdateArgs: ({ projectSchema }: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare const DuplicateArgs: ({ projectSchema }: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare const DeleteArgs: ({ projectSchema }: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare const PaginatedList: typeof getPaginatedListShape;
export declare const SearchResults: typeof getSearchResultsShape;
export declare const CreateResult: (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const UpdateResult: (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const DuplicateResult: (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const DeleteResult: (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const TSSearchSortInput: ShapeJSON;
export declare const commonSearchProps: Record<string, PropertySchema>;
export declare const localeProps: ObjectSchema;
export declare const termsProps: ObjectSchema;
export declare const TSContentStructureInput: ShapeJSON;
export declare function getPaginatedListShape(_context: unknown, shape: ShapeJSON): ResolvedTemplate;
export declare function getSearchResultsShape(_context: unknown, shape: ShapeJSON): ResolvedTemplate;
export declare function getIDQueryArgs(templateName: string): (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
/**
 * Construct shapes for a mutation inputs, given source shape info.
 */
export declare function getMutationArgs(templateName: string, verb: TemplateVerbs): ({ projectSchema }: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
export declare function getMutationResultType(verb: TemplateVerbs): (_context: unknown, shape: ShapeJSON) => ResolvedTemplate;
export declare const commonSearchArgs: ObjectSchema;
export declare function getShapeListQueryArgs(templateName: string, legacyArgs: boolean): (context: TemplateContext, shape: ShapeJSON) => ResolvedTemplate;
