import type { MakeRequest, MRActions, MRReturn } from '../../common-types'; export type PlainClientDefaultParams = { spaceId?: string; environmentId?: string; organizationId?: string; releaseSchemaVersion?: 'Release.v1' | 'Release.v2'; releaseId?: string; }; /** * @internal */ type UnionOmit = T extends unknown ? Omit : never; /** * Makes {@link PlainClientDefaultParams} fields optional in API method parameter types. * When default params (spaceId, environmentId, etc.) are set on the plain client, * those fields become optional in individual method calls. */ export type OptionalDefaults = UnionOmit & Partial>>; /** * @internal */ export type WrapParams = { makeRequest: MakeRequest; defaults?: PlainClientDefaultParams; }; /** * @internal */ export type WrapFn> = Params extends undefined ? () => Return : Payload extends undefined ? (params: Params) => Return : Headers extends undefined ? (params: Params, payload: Payload) => Return : (params: Params, payload: Payload, headers: Headers) => Return; /** * @internal */ export declare const wrap: ({ makeRequest, defaults }: WrapParams, entityType: ET, action: Action) => WrapFn; export {};