import { ITriloCancelAgreement, ITriloConfig, ITriloNewAgreement, ITriloNewAgreementResult, ITriloSignup, ITriloGetTriloId, ITriloGetTriloIdResult } from "./interface";
export declare class Trilo {
    private key;
    private secret;
    private accessToken;
    private expireAt;
    private stagePrefix;
    private debug;
    private redirectUri;
    constructor({ credentials, stage, debug, redirectUri }: ITriloConfig);
    private logger;
    private init;
    private setupConfig;
    /**
     * Obtain a trilo id to submit with a new Agreement to identify your consumer
     */
    getTriloId: ({ userAttribute, email, phone, }: ITriloGetTriloId) => Promise<ITriloGetTriloIdResult>;
    /**
     * use the key and secret to get an access token from the OAuth server Cognito
     */
    newAgreement: ({ amount, currency, triloId, }: ITriloNewAgreement) => Promise<ITriloNewAgreementResult>;
    listBanks: ({ triloId, }: {
        triloId: string;
    }) => Promise<{
        sendingBankAccounts: any[];
        sendingBanks: any[];
    }>;
    private makeAgreementId;
    cancelAgreement: ({ id: agreementId }: ITriloCancelAgreement) => Promise<{
        success: boolean;
        agreementId: string;
    }>;
    private baobabFetcher;
    private camelFetcher;
    private fetcher;
    private getAuthHeaders;
    signup: ({ email, password }: ITriloSignup) => Promise<{
        triloId: string;
    }>;
    login: ({ email, password }: ITriloSignup) => Promise<{
        triloId: string;
    }>;
    checkIdentity: ({ triloId }: {
        triloId: string;
    }) => Promise<{
        loggedIn: boolean;
    }>;
    private isReady;
}
