import type { BalenaModel, PineClient } from '..'; import type { StringKeyof } from '../../typings/utils'; import type { ExpandableStringKeyOf, ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core'; type DependentResourceName = { [K in StringKeyof]: BalenaModel[K] extends { Read: { id: number; value: string; }; Write: { value: string; }; } ? K : never; }[StringKeyof]; export declare function buildDependentResource({ pine }: { pine: PineClient; }, { resourceName, resourceKeyField, parentResourceName, getResourceId, }: { resourceName: T; resourceKeyField: StringKeyof; parentResourceName: ExpandableStringKeyOf; getResourceId: (uuidOrIdOrDict: string | number | Record) => Promise; }): { getAll>(options?: O): Promise>; getAllByParent>(parentParam: string | number | Record, options?: O): Promise>; get(parentParam: string | number | Record, key: string): Promise; set(parentParam: string | number | Record, key: string, value: string): Promise; remove(parentParam: string | number | Record, key: string): Promise; }; export {};