import { Principal } from '@dfinity/principal';
import { NFTDetails, NFTCollection } from '../../interfaces/nft';
import { _SERVICE as NFT_ICRC7, Value } from '../../interfaces/icrc_7';
import NFT from './default';
import { ActorSubclass, CreateCertificateOptions, HttpAgent } from '@dfinity/agent';
export default class ICRC7 extends NFT {
    standard: string;
    actor: ActorSubclass<NFT_ICRC7>;
    constructor(canisterId: string, agent: HttpAgent, blsVerify?: CreateCertificateOptions['blsVerify']);
    findMetada(key: string, metadata: [string, Value][]): string;
    mapToken(id: bigint, metadata: [string, Value][], owner: string): {
        index: bigint;
        canister: string;
        name: string;
        url: string;
        standard: string;
        owner: string;
        metadata: [string, Value][];
    };
    getUserTokens(principal: Principal): Promise<NFTDetails<bigint>[]>;
    transfer(principal: Principal, tokenIndex: number): Promise<void>;
    getMetadata(): Promise<NFTCollection>;
    details(tokenIndex: number): Promise<NFTDetails<bigint>>;
}
