import { AbstractSimplePool } from "nostr-tools/lib/types/pool";
import { SimplePool, getPublicKey, nip19, generateSecretKey } from "nostr-tools";
import { NofferData, NofferReceipt } from "./noffer.js";
import { NdebitData } from "./ndebit.js";
import { NmanageRequest } from "./nmanage.js";
import { decodeBech32 } from "./nip19Extension.js";
export type ClinkSettings = {
    privateKey: Uint8Array;
    relays: string[];
    toPubKey: string;
    defaultTimeoutSeconds?: number;
};
export declare class ClinkSDK {
    pool: AbstractSimplePool;
    settings: ClinkSettings;
    constructor(settings: ClinkSettings, pool?: AbstractSimplePool);
    Noffer: (data: NofferData, onReceipt?: (receipt: NofferReceipt) => void, timeoutSeconds?: number) => Promise<import("./noffer.js").NofferResponse>;
    Ndebit: (data: NdebitData, timeoutSeconds?: number) => Promise<import("./ndebit.js").NdebitResponse>;
    Nmanage: (data: NmanageRequest, timeoutSeconds?: number) => Promise<import("./nmanage.js").NmanageResponse>;
    static decodeBech32: typeof decodeBech32;
    static generateSecretKey: () => Uint8Array;
    static newListRequest: (pointer?: string) => import("./nmanage.js").NmanageListOffers;
    static newNdebitBudgetRequest: (frequency: import("./ndebit.js").BudgetFrequency, amount: number, pointer?: string) => NdebitData;
}
export * from './nip19Extension.js';
export * from './noffer.js';
export * from './nmanage.js';
export * from "./ndebit.js";
export { SimplePool, getPublicKey, nip19, generateSecretKey };
