import { ethers } from 'ethers';
import { Provider } from '@ethersproject/providers';
import { NetworkId } from './networks';
/**
 * GoTakeSDK initialization options for browser environment
 */
export interface BrowserSDKOptions {
    network?: NetworkId | string;
    provider?: string | Provider;
    signer: ethers.Signer;
}
/**
 * GoTakeSDK initialization options for Node.js environment
 */
export interface NodeSDKOptions {
    network?: NetworkId | string;
    provider?: string | Provider;
    signer?: string | ethers.Signer;
}
/**
 * GoTakeSDK initialization options (union type for all environments)
 */
export interface GoTakeSDKOptions {
    network?: NetworkId | string;
    provider?: string | Provider;
    signer?: string | ethers.Signer;
}
/**
 * Parameters for creating a TBA account
 */
export interface CreateTBAParams {
    tokenContract: string;
    tokenId: number;
    salt?: string | number | ethers.BigNumber;
}
/**
 * Video-related types
 */
export interface VideoMetadata {
    title: string;
    description?: string;
    tags?: string[];
    thumbnailUrl?: string;
    creator: string;
}
/**
 * Transaction response type
 */
export interface TransactionResponse {
    transactionHash: string;
    wait: () => Promise<TransactionReceipt>;
}
/**
 * Transaction receipt type
 */
export interface TransactionReceipt {
    blockHash: string;
    blockNumber: number;
    transactionHash: string;
    status: number;
    events?: Array<{
        event: string;
        args: any[];
    }>;
}
//# sourceMappingURL=types.d.ts.map