import type { NewListing, NewTokenListing } from "../types/listings.js";
import type { BroadcastResult, MarketError } from "../types/market.js";
interface UseCreateListingOptions {
    app?: string;
    feeRate?: number;
    onSuccess?: (result: BroadcastResult) => void;
    onError?: (error: MarketError) => void;
}
export interface CreateListingResult {
    txid: string;
    fee: number;
    size: number;
    listings: number;
}
export interface CreateTokenListingParams {
    protocol: "bsv20" | "bsv21";
    tokenID: string;
    decimals: number;
}
export declare function useCreateListing(options?: UseCreateListingOptions): {
    createListing: import("@tanstack/react-query").UseMutateFunction<CreateListingResult, MarketError, NewListing[], unknown>;
    createListingAsync: import("@tanstack/react-query").UseMutateAsyncFunction<CreateListingResult, MarketError, NewListing[], unknown>;
    createTokenListing: (listings: NewTokenListing[], params: CreateTokenListingParams) => void;
    createTokenListingAsync: (listings: NewTokenListing[], params: CreateTokenListingParams) => Promise<CreateListingResult>;
    isLoading: boolean;
    isError: boolean;
    isSuccess: boolean;
    error: MarketError | null;
    reset: () => void;
};
export {};
//# sourceMappingURL=useCreateListing.d.ts.map