import { Token, TokenFactory, Semantic, ComparableToken } from './token';
export declare class OptionToken extends ComparableToken {
    protected val: {
        prim: string;
        args: any[];
        annots: any[];
    };
    protected idx: number;
    protected fac: TokenFactory;
    static prim: string;
    constructor(val: {
        prim: string;
        args: any[];
        annots: any[];
    }, idx: number, fac: TokenFactory);
    subToken(): Token;
    annot(): string;
    Encode(args: any): any;
    EncodeObject(args: any): any;
    Execute(val: any, semantics?: Semantic): any;
    ExtractSchema(): any;
    ExtractSignature(): any[][];
    get KeySchema(): ComparableToken;
    compare(val1: any, val2: any): number;
    ToKey(val: any): any;
    ToBigMapKey(val: any): {
        key: any;
        type: {
            prim: string;
            args?: any[] | undefined;
        };
    };
}
