import { ComputedRef, MaybeRef, Ref } from 'vue';
import { APIConsumer } from '../api_consumer/namespace';
import { PrimaryKeyBaseType } from './api/namespace';
import { FormAdapter } from './namespace';
export * from './api';
export interface InMemoryParams<T> {
    definition: APIConsumer.FormUXDefinition;
    data: T[];
    pk: MaybeRef<PrimaryKeyBaseType>;
    pkName: keyof T & string;
}
declare class InMemoryImplementation<T extends object = any> implements FormAdapter<T> {
    data: T[];
    ux_def: APIConsumer.FormUXDefinition;
    pk: Ref<PrimaryKeyBaseType>;
    pkName: keyof T & string;
    counter: ComputedRef<number>;
    constructor(params: InMemoryParams<T>);
    private comparePk;
    componentDefinition: () => APIConsumer.FormUXDefinition;
    retrieve: () => T;
    create(data: T): T;
    update(data: T): Promise<T>;
    delete(): T;
}
export default InMemoryImplementation;
//# sourceMappingURL=index.d.ts.map