import { AvailableRoutesRequest, DepositStatusRequest, DepositStatusResponse, Route, SuggestedFeesRequest, SuggestedFeesResponse } from './types';
import { TokenInfo } from '../../../common';
export interface AcrossApiOptions {
    apiBaseUrl?: string;
}
export declare class AcrossApi {
    private readonly options;
    constructor(options?: AcrossApiOptions);
    /**
     * Retrieve available routes for transfers
     *
     * Returns available routes based on specified parameters. If no parameters are provided, available routes on all
     * chains are returned.
     *
     * See https://docs.across.to/reference/api-reference#available-routes
     */
    getAvailableRoutes({ originChainId, originToken, destinationChainId, destinationToken, }: AvailableRoutesRequest): Promise<Route[]>;
    /**
     * Retrieve suggested fee quote for a deposit.
     *
     * Returns suggested fees based inputToken+outputToken, originChainId, destinationChainId, and amount.
     * Also includes data used to compute the fees.
     *
     * * See https://docs.across.to/reference/api-reference#suggested-fees
     */
    getSuggestedFees(request: SuggestedFeesRequest): Promise<SuggestedFeesResponse>;
    getSupportedTokens(): Promise<TokenInfo[]>;
    getDepositStatus(request: DepositStatusRequest): Promise<DepositStatusResponse>;
    protected fetchApi<T>(path: string, params: Record<string, string>, isValidResponse?: (response: unknown) => response is T): Promise<T>;
}
