import { ContractType, ManageableFields, AuthInput, AuthenticationDefinition, Implementation, HandleResult } from './globalTypes.js'; export declare const authorizedByPermission: (auth: AuthenticationDefinition, authInput: AuthInput) => boolean; export declare const getUserIdFields: (fields: ManageableFields) => string[]; export declare const filterToAccess: (input: any[], auth: AuthenticationDefinition, authInput: AuthInput, fields: ManageableFields) => any[]; export declare const keyId: (index: string, id: string) => string; export declare type Get = (contract: ContractType<'GET', IMPL, IN, OUT>, auth: AuthInput, id: string | string[] | undefined, body?: IN) => Promise>; export declare type Post = (contract: ContractType<'POST', IMPL, IN, OUT>, auth: AuthInput, id: string | undefined, body: IN) => Promise>; export declare type Delete = (contract: ContractType<'DELETE', IMPL, IN, OUT>, auth: AuthInput, id: string | string[]) => Promise>; export declare type Patch = (contract: ContractType<'PATCH', IMPL, IN, OUT>, auth: AuthInput, id: string, body: IN) => Promise>; export declare type Put = (contract: ContractType<'PUT', IMPL, IN, OUT>, auth: AuthInput, id: string, body: IN) => Promise>; export declare type AbstractBackend = { get: Get; post: Post; delete: Delete; patch: Patch; put: Put; }; export declare const forbidden: (data: any, errors?: string[]) => { errorType: string; data: any; status: number; errors: string[]; }; export declare const notFound: (data: any, errors?: string[]) => { errorType: string; data: any; status: number; errors: string[]; };