import { ErrorType, type ErrorFromResult, type OkFromResult, type PromiseResult, type Result } from '../ErrorResult.js'; import type { PublishedSchemaSpecification } from '../schema/SchemaSpecification.js'; import type { Component, Connection, Edge, EntityReference, EntitySamplingOptions, EntitySamplingPayload, Paging, PublishedEntity, PublishedEntityQuery, PublishedEntitySharedQuery, UniqueIndexReference } from '../Types.js'; import type { LooseAutocomplete } from '../utils/TypeUtils.js'; import { type ClientContext, type ContextProvider, type Middleware, type Operation } from './SharedClient.js'; export interface PublishedDossierClient = PublishedEntity, TComponent extends Component = Component, TUniqueIndex extends string = string, TExceptionClient extends PublishedDossierExceptionClient = PublishedDossierExceptionClient> { getSchemaSpecification(): PromiseResult; getEntity(reference: EntityReference | UniqueIndexReference): PromiseResult; getEntityList(references: EntityReference[]): PromiseResult[], typeof ErrorType.Generic>; getEntities(query?: PublishedEntityQuery, paging?: Paging): PromiseResult> | null, typeof ErrorType.BadRequest | typeof ErrorType.NotAuthorized | typeof ErrorType.Generic>; getEntitiesTotalCount(query?: PublishedEntitySharedQuery): PromiseResult; getEntitiesSample(query?: PublishedEntitySharedQuery, options?: EntitySamplingOptions): PromiseResult, typeof ErrorType.BadRequest | typeof ErrorType.NotAuthorized | typeof ErrorType.Generic>; toExceptionClient(): TExceptionClient; } export interface PublishedDossierExceptionClient = PublishedEntity, TPublishedComponent extends Component = Component, TUniqueIndex extends string = string> { client: Readonly>; getSchemaSpecification(): Promise; getEntity(reference: EntityReference | UniqueIndexReference): Promise; getEntityList(references: EntityReference[]): Promise[]>; getEntities(query?: PublishedEntityQuery, paging?: Paging): Promise> | null>; getEntitiesTotalCount(query?: PublishedEntitySharedQuery): Promise; getEntitiesSample(query?: PublishedEntitySharedQuery, options?: EntitySamplingOptions): Promise>; } export declare const PublishedDossierClientOperationName: { readonly getEntities: "getEntities"; readonly getEntitiesSample: "getEntitiesSample"; readonly getEntitiesTotalCount: "getEntitiesTotalCount"; readonly getEntity: "getEntity"; readonly getEntityList: "getEntityList"; readonly getSchemaSpecification: "getSchemaSpecification"; }; type PublishedDossierClientOperationName = keyof typeof PublishedDossierClientOperationName; type MethodParameters, Component> = PublishedDossierClient> = Parameters; type MethodReturnTypeWithoutPromise, Component> = PublishedDossierClient> = Awaited, MethodReturnTypeError>>; type MethodReturnTypeOk, Component> = PublishedDossierClient> = OkFromResult>; type MethodReturnTypeError, Component> = PublishedDossierClient> = ErrorFromResult>; interface PublishedDossierClientOperationArguments { [PublishedDossierClientOperationName.getEntities]: MethodParameters<'getEntities'>; [PublishedDossierClientOperationName.getEntitiesSample]: MethodParameters<'getEntitiesSample'>; [PublishedDossierClientOperationName.getEntitiesTotalCount]: MethodParameters<'getEntitiesTotalCount'>; [PublishedDossierClientOperationName.getEntity]: MethodParameters<'getEntity'>; [PublishedDossierClientOperationName.getEntityList]: MethodParameters<'getEntityList'>; [PublishedDossierClientOperationName.getSchemaSpecification]: MethodParameters<'getSchemaSpecification'>; } interface PublishedDossierClientOperationReturnOk { [PublishedDossierClientOperationName.getEntities]: MethodReturnTypeOk<'getEntities'>; [PublishedDossierClientOperationName.getEntitiesSample]: MethodReturnTypeOk<'getEntitiesSample'>; [PublishedDossierClientOperationName.getEntitiesTotalCount]: MethodReturnTypeOk<'getEntitiesTotalCount'>; [PublishedDossierClientOperationName.getEntity]: MethodReturnTypeOk<'getEntity'>; [PublishedDossierClientOperationName.getEntityList]: MethodReturnTypeOk<'getEntityList'>; [PublishedDossierClientOperationName.getSchemaSpecification]: MethodReturnTypeOk<'getSchemaSpecification'>; } interface PublishedDossierClientOperationReturnError { [PublishedDossierClientOperationName.getEntities]: MethodReturnTypeError<'getEntities'>; [PublishedDossierClientOperationName.getEntitiesSample]: MethodReturnTypeError<'getEntitiesSample'>; [PublishedDossierClientOperationName.getEntitiesTotalCount]: MethodReturnTypeError<'getEntitiesTotalCount'>; [PublishedDossierClientOperationName.getEntity]: MethodReturnTypeError<'getEntity'>; [PublishedDossierClientOperationName.getEntityList]: MethodReturnTypeError<'getEntityList'>; [PublishedDossierClientOperationName.getSchemaSpecification]: MethodReturnTypeError<'getSchemaSpecification'>; } export type PublishedDossierClientOperation = Operation; export type PublishedDossierClientMiddleware = Middleware; export type JsonPublishedDossierClientOperationArgs = PublishedDossierClientOperationArguments[TName]; export declare function createBasePublishedDossierClient, Component> = PublishedDossierClient>(option: { context: TContext | ContextProvider; pipeline: PublishedDossierClientMiddleware[]; }): TClient; export declare function executeJsonPublishedDossierClientOperation(publishedClient: PublishedDossierClient, Component>, operationName: LooseAutocomplete, operationArgs: JsonPublishedDossierClientOperationArgs): PromiseResult; export declare function convertJsonPublishedDossierClientResult, Component> = PublishedDossierClient>(operationName: TName, jsonResult: Result): MethodReturnTypeWithoutPromise; export {};