import { Static, TSchema } from '@sinclair/typebox';
export declare const Nullable: <T extends TSchema>(type: T) => import("@sinclair/typebox").TUnion<[T, import("@sinclair/typebox").TNull]>;
export declare const RosettaOperationIdentifierSchema: import("@sinclair/typebox").TObject<{
    index: import("@sinclair/typebox").TInteger;
    network_index: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
}>;
export type RosettaOperationIdentifier = Static<typeof RosettaOperationIdentifierSchema>;
export declare const RosettaOperationTypeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"CREDIT">, import("@sinclair/typebox").TLiteral<"DEBIT">, import("@sinclair/typebox").TLiteral<"LOCK">]>;
export type RosettaOperationType = Static<typeof RosettaOperationTypeSchema>;
export declare const RosettaOperationAccountSchema: import("@sinclair/typebox").TObject<{
    address: import("@sinclair/typebox").TString;
    sub_account: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export type RosettaOperationAccount = Static<typeof RosettaOperationAccountSchema>;
export declare const RosettaOperationAmountSchema: import("@sinclair/typebox").TObject<{
    currency: import("@sinclair/typebox").TObject<{
        decimals: import("@sinclair/typebox").TInteger;
        symbol: import("@sinclair/typebox").TString;
        metadata: import("@sinclair/typebox").TObject<{
            asset_class_identifier: import("@sinclair/typebox").TString;
            asset_identifier: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
            standard: import("@sinclair/typebox").TString;
        }>;
    }>;
    value: import("@sinclair/typebox").TInteger;
}>;
export type RosettaOperationAmount = Static<typeof RosettaOperationAmountSchema>;
export declare const RosettaOperationPublicKeySchema: import("@sinclair/typebox").TObject<{
    hex_bytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    curve_type: import("@sinclair/typebox").TString;
}>;
export type RosettaOperationPublicKey = Static<typeof RosettaOperationPublicKeySchema>;
export declare const RosettaOperationMetadataSchema: import("@sinclair/typebox").TObject<{
    public_key: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
        hex_bytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        curve_type: import("@sinclair/typebox").TString;
    }>>;
    code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    method_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export type RosettaOperationMetadata = Static<typeof RosettaOperationMetadataSchema>;
export declare const RosettaOperationSchema: import("@sinclair/typebox").TObject<{
    account: import("@sinclair/typebox").TObject<{
        address: import("@sinclair/typebox").TString;
        sub_account: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>;
    amount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
        currency: import("@sinclair/typebox").TObject<{
            decimals: import("@sinclair/typebox").TInteger;
            symbol: import("@sinclair/typebox").TString;
            metadata: import("@sinclair/typebox").TObject<{
                asset_class_identifier: import("@sinclair/typebox").TString;
                asset_identifier: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
                standard: import("@sinclair/typebox").TString;
            }>;
        }>;
        value: import("@sinclair/typebox").TInteger;
    }>>;
    metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
        public_key: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
            hex_bytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            curve_type: import("@sinclair/typebox").TString;
        }>>;
        code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        method_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>>;
    operation_identifier: import("@sinclair/typebox").TObject<{
        index: import("@sinclair/typebox").TInteger;
        network_index: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    }>;
    related_operations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        index: import("@sinclair/typebox").TInteger;
        network_index: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
    }>>>;
    status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"SUCCESS">>;
    type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"CREDIT">, import("@sinclair/typebox").TLiteral<"DEBIT">, import("@sinclair/typebox").TLiteral<"LOCK">]>;
}>;
export type RosettaOperation = Static<typeof RosettaOperationSchema>;
export declare const BlockIdentifierSchema: import("@sinclair/typebox").TObject<{
    index: import("@sinclair/typebox").TInteger;
    hash: import("@sinclair/typebox").TString;
}>;
export type BlockIdentifier = Static<typeof BlockIdentifierSchema>;
export declare const TransactionIdentifierSchema: import("@sinclair/typebox").TObject<{
    hash: import("@sinclair/typebox").TString;
}>;
export type TransactionIdentifier = Static<typeof TransactionIdentifierSchema>;
