import { Base } from '../base';
import { AddToIssuedRequest, ApiResponse, AuthorizationRequest, FilterType, TokenData, UpdateRequest } from './types';
export declare class Contract extends Base {
    getAccountTokens(): Promise<ApiResponse<TokenData[]>>;
    getAccountTokensFiltered(address: string, signature: string, message: string, tenantId?: string): Promise<ApiResponse<TokenData[]>>;
    getCreatedToken(eventId: string, tokenId?: string): Promise<ApiResponse<TokenData>>;
    getCreatedTokenAsAdmin(eventId: string, address: string, signature: string, message: string): Promise<ApiResponse<TokenData>>;
    getTokens(address: string, filter?: FilterType): Promise<ApiResponse<TokenData[]>>;
    validateClaimAuthAddress(eventId: string, address: string): Promise<ApiResponse<boolean>>;
    validateClaimAuthCode(eventId: string, code: string): Promise<ApiResponse<boolean>>;
    validateClaimedToken(eventId: string, address: string, bound?: boolean): Promise<ApiResponse<boolean>>;
    addToIssued(eventId: string, data: AddToIssuedRequest, authorization: AuthorizationRequest): Promise<ApiResponse<string>>;
    bind(eventId: string, tokenId: string, address: string, signature: string, message: string): Promise<ApiResponse<boolean>>;
    burn(eventId: string, tokenId: string, address: string, signature: string, message: string): Promise<ApiResponse<boolean>>;
    claim(eventId: string, address: string, signature: string, message: string, uniqueCode?: string): Promise<ApiResponse<string>>;
    drop(eventId: string, dropTo: string[], authorization: AuthorizationRequest): Promise<ApiResponse<string>>;
    increaseTokenLimit(eventId: string, limitIncrease: number, authorization: AuthorizationRequest): Promise<ApiResponse<string>>;
    update(updateRequest: UpdateRequest): Promise<ApiResponse<string>>;
    getSignatureMessage(address: string): string;
}
