import { InscriptionSDK } from '@kiloscribe/inscription-sdk';
import { InscriptionOptions, InscriptionResult, RetrievedInscriptionResult, HederaClientConfig } from './types';
import { DAppSigner } from '@hashgraph/hedera-wallet-connect';
import { ProgressCallback } from '../utils/progress-reporter';
export type InscriptionInput = {
    type: 'url';
    url: string;
} | {
    type: 'file';
    path: string;
} | {
    type: 'buffer';
    buffer: ArrayBuffer | Buffer;
    fileName: string;
    mimeType?: string;
};
export type InscriptionResponse = {
    confirmed: false;
    result: InscriptionResult;
    sdk: InscriptionSDK;
} | {
    confirmed: true;
    result: InscriptionResult;
    inscription: RetrievedInscriptionResult;
    sdk: InscriptionSDK;
};
export declare function inscribe(input: InscriptionInput, clientConfig: HederaClientConfig, options: InscriptionOptions, existingSDK?: InscriptionSDK): Promise<InscriptionResponse>;
export declare function inscribeWithSigner(input: InscriptionInput, signer: DAppSigner, options: InscriptionOptions, existingSDK?: InscriptionSDK): Promise<InscriptionResponse>;
export declare function retrieveInscription(transactionId: string, options: InscriptionOptions & {
    accountId?: string;
    privateKey?: string;
}): Promise<RetrievedInscriptionResult>;
export declare function waitForInscriptionConfirmation(sdk: InscriptionSDK, transactionId: string, maxAttempts?: number, intervalMs?: number, progressCallback?: ProgressCallback): Promise<RetrievedInscriptionResult>;
//# sourceMappingURL=inscriber.d.ts.map