import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from '../token';
import { BaseTokenSchema } from '../../schema/types';
/**
 *  @category Error
 *  @description Error that indicates a failure happening when parsing encoding/executing an Address
 */
export declare class AddressValidationError extends TokenValidationError {
    value: any;
    token: AddressToken;
    name: string;
    constructor(value: any, token: AddressToken, message: string);
}
export declare class AddressToken extends ComparableToken {
    protected val: {
        prim: string;
        args: any[];
        annots: any[];
    };
    protected idx: number;
    protected fac: TokenFactory;
    static prim: 'address';
    constructor(val: {
        prim: string;
        args: any[];
        annots: any[];
    }, idx: number, fac: TokenFactory);
    ToBigMapKey(val: any): {
        key: {
            bytes: string;
        };
        type: {
            prim: string;
        };
    };
    /**
     * @throws {@link AddressValidationError}
     */
    private validate;
    /**
     * @throws {@link AddressValidationError}
     */
    Encode(args: any[]): any;
    /**
     * @throws {@link AddressValidationError}
     */
    EncodeObject(val: any, semantic?: SemanticEncoding): any;
    /**
     * @throws {@link AddressValidationError}
     */
    Execute(val: {
        bytes: string;
        string: string;
    }): string;
    /**
     * @deprecated ExtractSchema has been deprecated in favor of generateSchema
     *
     */
    ExtractSchema(): "address";
    generateSchema(): BaseTokenSchema;
    /**
     * @throws {@link AddressValidationError}
     */
    ToKey({ bytes, string }: any): any;
    compare(address1: string, address2: string): number;
    findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];
}
