import { Token, TokenFactory, Semantic, ComparableToken, SemanticEncoding } from './token';
import { PairTokenSchema } from '../schema/types';
import { MichelsonV1Expression, MichelsonV1ExpressionExtended } from '@taquito/rpc';
import { TaquitoError } from '@taquito/core';
/**
 *  @category Error
 *  @description Error that indicates in invalid token argument being passed
 */
export declare class TokenArgumentValidationError extends TaquitoError {
    message: string;
    name: string;
    constructor(message: string);
}
/**
 *  @category Error
 *  @description Error that indicates a failure occurring when doing a comparison of tokens
 */
export declare class TokenComparisonError extends TaquitoError {
    val1: string;
    val2: string;
    name: string;
    constructor(val1: string, val2: string);
}
export declare class PairToken extends ComparableToken {
    static prim: 'pair';
    constructor(val: MichelsonV1Expression, idx: number, fac: TokenFactory, parentTokenType?: 'Or' | 'Pair' | 'Other' | undefined);
    private args;
    private tokens;
    Encode(args: any[]): any;
    ExtractSignature(): any;
    ToBigMapKey(val: any): {
        key: any;
        type: Omit<MichelsonV1ExpressionExtended, "annots">;
    };
    ToKey(val: any): {
        [key: string]: any;
    };
    EncodeObject(args: any, semantic?: SemanticEncoding): any;
    private traversal;
    Execute(val: any, semantics?: Semantic): {
        [key: string]: any;
    };
    /**
     * @deprecated ExtractSchema has been deprecated in favor of generateSchema
     *
     */
    ExtractSchema(): any;
    generateSchema(): PairTokenSchema;
    /**
     * @throws {@link TokenComparisonError}
     */
    compare(val1: any, val2: any): number;
    findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];
    protected getIdxForChildren(): number;
}
