import { OrPromise } from '@sphereon/ssi-types';
import { DataSource, Repository } from 'typeorm';
import { AbstractPDStore } from './AbstractPDStore';
import { DeleteDefinitionArgs, DeleteDefinitionsArgs, GetDefinitionArgs, GetDefinitionsArgs, HasDefinitionArgs, HasDefinitionsArgs, NonPersistedPresentationDefinitionItem, PresentationDefinitionItem, PresentationDefinitionItemFilter } from '../types';
import { PresentationDefinitionItemEntity } from '../entities/presentationDefinition/PresentationDefinitionItemEntity';
export declare class PDStore extends AbstractPDStore {
    private readonly dbConnection;
    constructor(dbConnection: OrPromise<DataSource>);
    getDefinition: (args: GetDefinitionArgs) => Promise<PresentationDefinitionItem>;
    hasDefinition: (args: HasDefinitionArgs) => Promise<boolean>;
    hasDefinitions: (args: HasDefinitionsArgs) => Promise<boolean>;
    getDefinitions: (args: GetDefinitionsArgs) => Promise<Array<PresentationDefinitionItem>>;
    addDefinition: (item: NonPersistedPresentationDefinitionItem) => Promise<PresentationDefinitionItem>;
    updateDefinition: (item: PresentationDefinitionItem) => Promise<PresentationDefinitionItem>;
    deleteDefinition: (args: DeleteDefinitionArgs) => Promise<void>;
    deleteDefinitions: (args: DeleteDefinitionsArgs) => Promise<number>;
    findIds: (pdRepository: Repository<PresentationDefinitionItemEntity>, filter: Array<PresentationDefinitionItemFilter> | undefined) => Promise<Array<PresentationDefinitionItemEntity>>;
}
//# sourceMappingURL=PDStore.d.ts.map