import type { PutPostType, SchemeType } from '../types'; import type { AnyRecord } from '@voiceflow/common'; import type { BaseResourceOptions, Fields } from './base'; import BaseResource from './base'; type NestedCrudResourceOptions = BaseResourceOptions; declare class NestedCrudResource, Client extends Record, Exclude extends keyof SchemeType = never, Options extends { parentEndpoint: string; } = { parentEndpoint: string; }> extends BaseResource { private parentEndpoint; constructor(options: NestedCrudResourceOptions); protected _getCRUDEndpoint(parentID: ParentID, id?: SchemeType[ModelKey]): string; protected _get>>(parentID: ParentID, fields: Fields): Promise; protected _get>(parentID: ParentID): Promise; protected _getByID>>(parentID: ParentID, id: SchemeType[ModelKey], fields: Fields): Promise; protected _getByID>(parentID: ParentID, id: SchemeType[ModelKey]): Promise; protected _post>(parentID: ParentID, body: PutPostType): Promise; protected _put>(parentID: ParentID, id: SchemeType[ModelKey], body: PutPostType): Promise; protected _patch>>(parentID: ParentID, id: SchemeType[ModelKey], body: T): Promise; protected _delete(parentID: ParentID, id: SchemeType[ModelKey]): Promise[ModelKey]>; } export default NestedCrudResource; //# sourceMappingURL=crudNested.d.ts.map