import { PublicClient, WalletClient } from "viem";
import { Conf } from "../types";
import { OrderDirection } from "../../.graphclient";
import { VeraxSdk } from "../VeraxSdk";
export default abstract class BaseDataMapper<T, TFilter, TOrder> {
    protected readonly conf: Conf;
    protected readonly web3Client: PublicClient;
    protected readonly walletClient: WalletClient | undefined;
    protected readonly veraxSdk: VeraxSdk;
    protected abstract typeName: string;
    protected abstract gqlInterface: string;
    constructor(_conf: Conf, _web3Client: PublicClient, _veraxSdk: VeraxSdk, _walletClient?: WalletClient);
    findOneById(id: string): Promise<T | undefined>;
    findBy(first?: number, skip?: number, where?: TFilter, orderBy?: TOrder, orderDirection?: OrderDirection): Promise<T[]>;
    findTotalCount(): Promise<any>;
}
//# sourceMappingURL=BaseDataMapper.d.ts.map