export type ApiMetadataFile = {
    name?: string;
    mediaType: string;
    src: string | Array<string>;
    [key: string]: unknown;
};
export type ApiNftMetadata = {
    name: string;
    image: string | Array<string>;
    mediaType?: string;
    description?: string | Array<string>;
    files?: Array<ApiMetadataFile>;
    [key: string]: unknown;
};
export type ApiFtMetadata = {
    name: string;
    description?: string | Array<string>;
    policy?: string;
    logo?: string | Array<string>;
    decimals?: number;
    ticker?: string;
    url?: string;
    [key: string]: unknown;
};
export type ApiMetadataVersion = {
    version?: string;
};
export type ApiTokenId = `${string}.${string}`;
export type ApiFutureTokenRecords = {
    [tokenId: string]: ApiFutureToken;
};
export type ApiFutureToken = {
    supply: ApiTokenSupplyRecord;
    offChain: ApiOffChainMetadataRecord;
    onChain: ApiOnChainMetadataRecord;
};
export type ApiOffChainMetadataRequest = ReadonlyArray<ApiTokenId>;
export type ApiOffChainMetadataResponse = {
    [tokenId: ApiTokenId]: ApiOffChainMetadataRecord;
};
export type ApiOffChainMetadataRecord = {
    tokenRegistry: Record<string, unknown> | undefined;
    isValid: false;
} | {
    tokenRegistry: ApiTokenRegistryEntry;
    isValid: true;
};
export type ApiTokenRegistryEntry = {
    subject: string;
    name: ApiTokenRegistryProperty<string>;
    description?: ApiTokenRegistryProperty<string>;
    policy?: string;
    logo?: ApiTokenRegistryProperty<string>;
    ticker?: ApiTokenRegistryProperty<string>;
    url?: ApiTokenRegistryProperty<string>;
    decimals?: ApiTokenRegistryProperty<number>;
};
type ApiTokenRegistrySignature = {
    publicKey: string;
    signature: string;
};
export type ApiTokenRegistryProperty<T> = {
    signatures: Array<ApiTokenRegistrySignature>;
    sequenceNumber: number;
    value?: T;
};
export type ApiOnChainMetadataRequest = ReadonlyArray<ApiTokenId>;
export type ApiOnChainMetadataResponse = {
    [tokenId: ApiTokenId]: ApiOnChainMetadataRecord;
};
export type ApiOnChainMetadataRecord = ApiOnChainFtMetadataResult & ApiOnChainNftMetadataResult;
export type ApiOnChainFtMetadataResult = {
    mintFtMetadata: ApiFtMetadataRecord;
    mintFtRecordSelected: ApiFtMetadata;
} | {
    mintFtMetadata: Record<string, unknown> | undefined;
    mintFtRecordSelected: undefined;
};
export type ApiOnChainNftMetadataResult = {
    mintNftMetadata: ApiNftMetadataRecord;
    mintNftRecordSelected: ApiNftMetadata;
} | {
    mintNftMetadata: Record<string, unknown> | undefined;
    mintNftRecordSelected: undefined;
};
export type ApiMetadataRecord = ApiFtMetadataRecord | ApiNftMetadataRecord;
export interface ApiNftRecords {
    [policyId: string]: {
        [assetName: string]: ApiNftMetadata;
    };
}
export type ApiNftMetadataRecord = {
    key: '721';
    metadata: ApiMetadataVersion & ApiNftRecords;
};
export interface ApiFtRecords {
    [policyId: string]: {
        [assetName: string]: ApiFtMetadata;
    };
}
export type ApiFtMetadataRecord = {
    key: '20';
    metadata: ApiMetadataVersion & ApiFtRecords;
};
export type ApiTokeSupplyRequest = ReadonlyArray<ApiTokenId>;
export type ApiTokenSupplyResponse = {
    [tokenId: ApiTokenId]: ApiTokenSupplyRecord;
};
export type ApiTokenSupplyRecord = string | null;
export type ApiTokenIdentity = {
    policyId: string;
    name: string;
    nameHex: string;
};
export type ApiUtxoDataRequest = {
    txHash: string;
    txIndex: number;
};
export type ApiUtxoDataAsset = {
    assetId: string;
    policyId: string;
    name: string;
    amount: string;
};
export type ApiUtxoData = {
    output: {
        address: string;
        amount: string;
        dataHash: string | null;
        assets: Array<ApiUtxoDataAsset>;
    };
    spendingTxHash: string | null;
};
export {};
//# sourceMappingURL=cardano.d.ts.map