import { OrTokenSchema } from '../schema/types';
import { Token, TokenFactory, Semantic, ComparableToken, SemanticEncoding, TokenValidationError } from './token';
/**
 *  @category Error
 *  @description Error that indicates a failure happening when parsing encoding/executing an OrToken
 */
export declare class OrValidationError extends TokenValidationError {
    value: any;
    token: OrToken;
    name: string;
    constructor(value: any, token: OrToken, message: string);
}
export declare class OrToken extends ComparableToken {
    protected val: {
        prim: string;
        args: any[];
        annots: any[];
    };
    protected idx: number;
    protected fac: TokenFactory;
    protected parentTokenType?: 'Or' | 'Pair' | 'Other' | undefined;
    static prim: 'or';
    constructor(val: {
        prim: string;
        args: any[];
        annots: any[];
    }, idx: number, fac: TokenFactory, parentTokenType?: 'Or' | 'Pair' | 'Other' | undefined);
    Encode(args: any[]): any;
    ExtractSignature(): any;
    /**
     * @throws {@link OrValidationError}
     */
    EncodeObject(args: any, semantic?: SemanticEncoding): any;
    /**
     * @throws {@link OrValidationError}
     */
    private validateJavascriptObject;
    /**
     * @throws {@link OrValidationError}
     */
    Execute(val: any, semantics?: Semantic): any;
    private traversal;
    /**
     * @deprecated ExtractSchema has been deprecated in favor of generateSchema
     *
     */
    ExtractSchema(): any;
    generateSchema(): OrTokenSchema;
    private findToken;
    compare(val1: any, val2: any): any;
    ToKey(val: any): any;
    ToBigMapKey(val: any): {
        key: any;
        type: Omit<import("@taquito/rpc").MichelsonV1ExpressionExtended, "annots">;
    };
    findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];
    protected getIdxForChildren(): number;
}
