import type { Principal } from '@dfinity/principal'; export declare type AssetRequest = { 'Put': { 'key': string; 'contentType': string; 'callback': [] | [Callback]; 'payload': { 'StagedData': null; } | { 'Payload': Array; }; }; } | { 'Remove': { 'key': string; 'callback': [] | [Callback]; }; } | { 'StagedWrite': StagedWrite; }; export interface AuthorizeRequest { 'p': Principal; 'id': string; 'isAuthorized': boolean; } export declare type Callback = () => Promise; export interface CallbackStatus { 'failedCalls': bigint; 'failedCallsLimit': bigint; 'callback': [] | [Callback__1]; 'noTopupCallLimit': bigint; 'callsSinceLastTopup': bigint; } export declare type Callback__1 = (arg_0: Message) => Promise; export interface Chunk { 'data': Array; 'totalPages': bigint; 'nextPage': [] | [bigint]; } export declare type Contract = { 'ContractAuthorize': { 'isAuthorized': boolean; 'user': Principal; }; } | { 'Mint': { 'id': string; 'owner': Principal; }; }; export interface ContractInfo { 'nft_payload_size': bigint; 'memory_size': bigint; 'max_live_size': bigint; 'cycles': bigint; 'total_minted': bigint; 'heap_size': bigint; 'authorized_users': Array; } export interface ContractMetadata { 'name': string; 'symbol': string; } export interface Egg { 'contentType': string; 'owner': [] | [Principal]; 'properties': Properties; 'isPrivate': boolean; 'payload': { 'StagedData': null; } | { 'Payload': Array; }; } export declare type Error = { 'Immutable': null; } | { 'NotFound': null; } | { 'Unauthorized': null; } | { 'InvalidRequest': null; } | { 'AuthorizedPrincipalLimitReached': bigint; }; export declare type HeaderField = [string, string]; export interface Hub { 'assetRequest': (arg_0: AssetRequest) => Promise; 'authorize': (arg_0: AuthorizeRequest) => Promise; 'balanceOf': (arg_0: Principal) => Promise>; 'getAuthorized': (arg_0: string) => Promise>; 'getContractInfo': () => Promise; 'getEventCallbackStatus': () => Promise; 'getMetadata': () => Promise; 'getTotalMinted': () => Promise; 'http_request': (arg_0: Request) => Promise; 'http_request_streaming_callback': (arg_0: StreamingCallbackToken) => Promise; 'init': (arg_0: Array, arg_1: ContractMetadata) => Promise; 'isAuthorized': (arg_0: string, arg_1: Principal) => Promise; 'listAssets': () => Promise>; 'mint': (arg_0: Egg) => Promise; 'nftStreamingCallback': (arg_0: StreamingCallbackToken) => Promise; 'ownerOf': (arg_0: string) => Promise; 'queryProperties': (arg_0: QueryRequest) => Promise; 'staticStreamingCallback': (arg_0: StreamingCallbackToken) => Promise; 'tokenByIndex': (arg_0: string) => Promise; 'tokenChunkByIndex': (arg_0: string, arg_1: bigint) => Promise; 'tokenMetadataByIndex': (arg_0: string) => Promise; 'transfer': (arg_0: Principal, arg_1: string) => Promise; 'updateContractOwners': (arg_0: Principal, arg_1: boolean) => Promise; 'updateEventCallback': (arg_0: UpdateEventCallback) => Promise; 'updateProperties': (arg_0: UpdateRequest) => Promise; 'wallet_receive': () => Promise; 'writeStaged': (arg_0: StagedWrite) => Promise; } export interface Message { 'topupCallback': TopupCallback; 'createdAt': bigint; 'topupAmount': bigint; 'event': { 'ContractEvent': Contract; } | { 'TokenEvent': Token; }; } export interface Metadata { 'id': string; 'contentType': string; 'owner': Principal; 'createdAt': bigint; 'properties': Properties; } export declare type PayloadResult = { 'Complete': Array; } | { 'Chunk': Chunk; }; export declare type Properties = Array; export interface Property { 'value': Value; 'name': string; 'immutable': boolean; } export interface PublicToken { 'id': string; 'contentType': string; 'owner': Principal; 'createdAt': bigint; 'properties': Properties; 'payload': PayloadResult; } export interface Query { 'name': string; 'next': Array; } export declare type QueryMode = { 'All': null; } | { 'Some': Array; }; export interface QueryRequest { 'id': string; 'mode': QueryMode; } export interface Request { 'url': string; 'method': string; 'body': Array; 'headers': Array; } export interface Response { 'body': Array; 'headers': Array; 'streaming_strategy': [] | [StreamingStrategy]; 'status_code': number; } export declare type Result = { 'ok': Properties; } | { 'err': Error; }; export declare type Result_1 = { 'ok': null; } | { 'err': Error; }; export declare type Result_2 = { 'ok': Metadata; } | { 'err': Error; }; export declare type Result_3 = { 'ok': Chunk; } | { 'err': Error; }; export declare type Result_4 = { 'ok': PublicToken; } | { 'err': Error; }; export declare type Result_5 = { 'ok': Principal; } | { 'err': Error; }; export declare type StagedWrite = { 'Init': { 'size': bigint; 'callback': [] | [Callback]; }; } | { 'Chunk': { 'chunk': Array; 'callback': [] | [Callback]; }; }; export declare type StreamingCallback = (arg_0: StreamingCallbackToken) => Promise; export interface StreamingCallbackResponse { 'token': [] | [StreamingCallbackToken]; 'body': Array; } export interface StreamingCallbackToken { 'key': string; 'index': bigint; 'content_encoding': string; } export declare type StreamingStrategy = { 'Callback': { 'token': StreamingCallbackToken; 'callback': StreamingCallback; }; }; export declare type Token = { 'Authorize': { 'id': string; 'isAuthorized': boolean; 'user': Principal; }; } | { 'Transfer': { 'id': string; 'to': Principal; 'from': Principal; }; }; export declare type TopupCallback = () => Promise; export interface Update { 'mode': UpdateMode; 'name': string; } export declare type UpdateEventCallback = { 'Set': Callback__1; } | { 'Remove': null; }; export declare type UpdateMode = { 'Set': Value; } | { 'Next': Array; }; export interface UpdateRequest { 'id': string; 'update': Array; } export declare type Value = { 'Int': bigint; } | { 'Nat': bigint; } | { 'Empty': null; } | { 'Bool': boolean; } | { 'Text': string; } | { 'Float': number; } | { 'Principal': Principal; } | { 'Class': Array; }; export default interface _SERVICE extends Hub { }