import type { PutPostType, SchemeType } from '../types'; import type { AnyRecord } from '@voiceflow/common'; import type { Fields } from './base'; import BaseResource from './base'; declare class CrudResource, Client extends Record, Exclude extends keyof SchemeType = never> extends BaseResource { protected _getCRUDEndpoint(id?: SchemeType[ID]): string; protected _get>>(fields: Fields): Promise; protected _get>(): Promise; protected _getByID>>(id: SchemeType[ID], fields: Fields): Promise; protected _getByID>(id: SchemeType[ID]): Promise; protected _post>(body: PutPostType): Promise; protected _put>(id: SchemeType[ID], body: PutPostType): Promise; protected _patch>(id: SchemeType[ID], body: Partial): Promise>; protected _delete(id: SchemeType[ID]): Promise[ID]>; } export default CrudResource; //# sourceMappingURL=crud.d.ts.map