import { PasskeyBase } from "./base";
import type { Tx } from "@stellar/stellar-sdk/minimal/contract";
import type { Signer } from "./types";
import { AssembledTransaction } from "@stellar/stellar-sdk/minimal/contract";
import type { LoggingConfig } from './logging';
import type pino from 'pino';
export declare class PasskeyServer extends PasskeyBase {
    private launchtubeJwt;
    private mercuryJwt;
    private mercuryKey;
    launchtubeUrl: string | undefined;
    launchtubeHeaders: Record<string, string> | undefined;
    mercuryProjectName: string | undefined;
    mercuryUrl: string | undefined;
    constructor(options: {
        rpcUrl?: string;
        launchtubeUrl?: string;
        launchtubeJwt?: string;
        launchtubeHeaders?: Record<string, string>;
        mercuryProjectName?: string;
        mercuryUrl?: string;
        mercuryJwt?: string;
        mercuryKey?: string;
        logging?: LoggingConfig | pino.Logger;
    });
    getSigners(contractId: string): Promise<Signer[]>;
    getContractId(options: {
        keyId?: string;
        publicKey?: string;
        policy?: string;
    }, index?: number): Promise<string>;
    send<T>(txn: AssembledTransaction<T> | Tx | string, fee?: number): Promise<any>;
}
