import { HandlerType } from "@metamask/snaps-utils"; import type { Infer, Struct } from "@metamask/superstruct"; import type { CaipChainId, JsonRpcRequest } from "@metamask/utils"; export declare const JsonRpcRequestWithoutIdStruct: Struct<{ method: string; params?: import("@metamask/snaps-sdk").Json[] | Record | undefined; jsonrpc?: "2.0" | undefined; id?: string | number | null | undefined; }, { jsonrpc: Struct<"2.0" | undefined, "2.0">; id: Struct; method: Struct; params: Struct | undefined, null>; }>; export type JsonRpcRequestWithoutId = Infer; export declare const EndowmentStruct: Struct; export type Endowment = Infer; /** * Check if the given value is an endowment. * * @param value - The value to check. * @returns Whether the value is an endowment. */ export declare function isEndowment(value: unknown): value is Endowment; /** * Check if the given value is an array of endowments. * * @param value - The value to check. * @returns Whether the value is an array of endowments. */ export declare function isEndowmentsArray(value: unknown): value is Endowment[]; export declare const PingRequestArgumentsStruct: Struct; export declare const TerminateRequestArgumentsStruct: Struct; export declare const ExecuteSnapRequestArgumentsStruct: Struct<{ snapId: string; sourceCode: string; endowments: string[]; }, { snapId: Struct; sourceCode: Struct; endowments: Struct>; }>; export declare const SnapRpcRequestArgumentsStruct: Struct<{ request: { method: string; params?: Record | undefined; jsonrpc?: "2.0" | undefined; id?: string | number | null | undefined; }; origin: string; snapId: string; handler: HandlerType; }, { snapId: Struct; handler: Struct; origin: Struct; request: Struct<{ method: string; params?: Record | undefined; jsonrpc?: "2.0" | undefined; id?: string | number | null | undefined; }, { params: Struct | undefined, null>; method: Struct; jsonrpc: Struct<"2.0" | undefined, "2.0">; id: Struct; }>; }>; export type PingRequestArguments = Infer; export type TerminateRequestArguments = Infer; export type ExecuteSnapRequestArguments = Infer; export type SnapRpcRequestArguments = Infer; export type RequestArguments = PingRequestArguments | TerminateRequestArguments | ExecuteSnapRequestArguments | SnapRpcRequestArguments; export declare const OnTransactionRequestArgumentsStruct: Struct<{ transaction: Record; chainId: `${string}:${string}`; transactionOrigin: string | null; }, { transaction: Struct, null>; chainId: Struct<`${string}:${string}`, null>; transactionOrigin: Struct; }>; export type OnTransactionRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnTransactionRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnTransactionRequestArguments} * object. */ export declare function assertIsOnTransactionRequestArguments(value: unknown): asserts value is OnTransactionRequestArguments; export declare const OnSignatureRequestArgumentsStruct: Struct<{ signature: Record; signatureOrigin: string | null; }, { signature: Struct, null>; signatureOrigin: Struct; }>; export type OnSignatureRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnSignatureRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnSignatureRequestArguments} * object. */ export declare function assertIsOnSignatureRequestArguments(value: unknown): asserts value is OnSignatureRequestArguments; declare const baseNameLookupArgs: { chainId: Struct<`${string}:${string}`, null>; }; export declare const OnNameLookupRequestArgumentsStruct: Struct<{ chainId: `${string}:${string}`; address: string; } | { chainId: `${string}:${string}`; domain: string; }, null>; export type OnNameLookupRequestArguments = Infer; export type PossibleLookupRequestArgs = typeof baseNameLookupArgs & { address?: string; domain?: string; }; /** * Asserts that the given value is a valid {@link OnNameLookupRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnNameLookupRequestArguments} * object. */ export declare function assertIsOnNameLookupRequestArguments(value: unknown): asserts value is OnNameLookupRequestArguments; export declare const OnAssetHistoricalPriceRequestArgumentsStruct: Struct<{ from: `${string}:${string}/${string}:${string}`; to: `${string}:${string}/${string}:${string}`; }, { from: Struct<`${string}:${string}/${string}:${string}`, null>; to: Struct<`${string}:${string}/${string}:${string}`, null>; }>; export type OnAssetHistoricalPriceRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnAssetHistoricalPriceRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnAssetHistoricalPriceRequestArguments} * object. */ export declare function assertIsOnAssetHistoricalPriceRequestArguments(value: unknown): asserts value is OnAssetHistoricalPriceRequestArguments; export declare const OnAssetsMarketDataRequestArgumentsStruct: Struct<{ assets: { asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`; unit: `${string}:${string}/${string}:${string}`; }[]; }, { assets: Struct<{ asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`; unit: `${string}:${string}/${string}:${string}`; }[], Struct<{ asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`; unit: `${string}:${string}/${string}:${string}`; }, { asset: Struct<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, null>; unit: Struct<`${string}:${string}/${string}:${string}`, null>; }>>; }>; export type OnAssetsMarketDataRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnAssetsMarketDataRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnAssetsMarketDataRequestArguments} * object. */ export declare function assertIsOnAssetsMarketDataRequestArguments(value: unknown): asserts value is OnAssetsMarketDataRequestArguments; export declare const OnAssetsLookupRequestArgumentsStruct: Struct<{ assets: (`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`)[]; }, { assets: Struct<(`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`)[], Struct<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, null>>; }>; export type OnAssetsLookupRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnAssetsLookupRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnAssetsLookupRequestArguments} * object. */ export declare function assertIsOnAssetsLookupRequestArguments(value: unknown): asserts value is OnAssetsLookupRequestArguments; export declare const OnAssetsConversionRequestArgumentsStruct: Struct<{ conversions: { from: `${string}:${string}/${string}:${string}`; to: `${string}:${string}/${string}:${string}`; }[]; }, { conversions: Struct<{ from: `${string}:${string}/${string}:${string}`; to: `${string}:${string}/${string}:${string}`; }[], Struct<{ from: `${string}:${string}/${string}:${string}`; to: `${string}:${string}/${string}:${string}`; }, { from: Struct<`${string}:${string}/${string}:${string}`, null>; to: Struct<`${string}:${string}/${string}:${string}`, null>; }>>; }>; export type OnAssetsConversionRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnAssetsConversionRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnNameLookupRequestArguments} * object. */ export declare function assertIsOnAssetsConversionRequestArguments(value: unknown): asserts value is OnAssetsConversionRequestArguments; export declare const OnUserInputArgumentsStruct: Struct<{ id: string; event: { type: import("@metamask/snaps-sdk").UserInputEventType.ButtonClickEvent; name?: string | undefined; } | { value: Record; type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent; name: string; } | { value: string | boolean | { addresses: `${string}:${string}:${string}`[]; accountId: string; } | { symbol: string; name: string; asset: `${string}:${string}/${string}:${string}`; } | null; type: import("@metamask/snaps-sdk").UserInputEventType.InputChangeEvent; name: string; } | { type: import("@metamask/snaps-sdk").UserInputEventType.FileUploadEvent; name: string; file: { name: string; size: number; contentType: string; contents: string; } | null; }; context?: Record | null | undefined; }, { id: Struct; event: Struct<{ type: import("@metamask/snaps-sdk").UserInputEventType.ButtonClickEvent; name?: string | undefined; } | { value: Record; type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent; name: string; } | { value: string | boolean | { addresses: `${string}:${string}:${string}`[]; accountId: string; } | { symbol: string; name: string; asset: `${string}:${string}/${string}:${string}`; } | null; type: import("@metamask/snaps-sdk").UserInputEventType.InputChangeEvent; name: string; } | { type: import("@metamask/snaps-sdk").UserInputEventType.FileUploadEvent; name: string; file: { name: string; size: number; contentType: string; contents: string; } | null; }, null>; context: Struct | null | undefined, null>; }>; export type OnUserInputArguments = Infer; /** * Asserts that the given value is a valid {@link OnUserInputArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnUserInputArguments} * object. */ export declare function assertIsOnUserInputRequestArguments(value: unknown): asserts value is OnUserInputArguments; export declare const OnProtocolRequestArgumentsStruct: Struct<{ scope: CaipChainId; request: JsonRpcRequest; }, null>; export type OnProtocolRequestArguments = Infer; /** * Asserts that the given value is a valid {@link OnProtocolRequestArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnProtocolRequestArguments} * object. */ export declare function assertIsOnProtocolRequestArguments(value: unknown): asserts value is OnProtocolRequestArguments; export declare const WebSocketEventStruct: Struct<{ origin: string; id: string; type: "open"; } | { origin: string; id: string; type: "close"; code: number; reason: string | null; wasClean: boolean | null; } | { data: { type: "text"; message: string; } | { type: "binary"; message: number[]; }; origin: string; id: string; type: "message"; }, null>; export declare const OnWebSocketEventArgumentsStruct: Struct<{ event: { origin: string; id: string; type: "open"; } | { origin: string; id: string; type: "close"; code: number; reason: string | null; wasClean: boolean | null; } | { data: { type: "text"; message: string; } | { type: "binary"; message: number[]; }; origin: string; id: string; type: "message"; }; }, { event: Struct<{ origin: string; id: string; type: "open"; } | { origin: string; id: string; type: "close"; code: number; reason: string | null; wasClean: boolean | null; } | { data: { type: "text"; message: string; } | { type: "binary"; message: number[]; }; origin: string; id: string; type: "message"; }, null>; }>; export type OnWebSocketEventArguments = Infer; /** * Asserts that the given value is a valid {@link OnWebSocketEventArguments} * object. * * @param value - The value to validate. * @throws If the value is not a valid {@link OnWebSocketEventArguments} * object. */ export declare function assertIsOnWebSocketEventArguments(value: unknown): asserts value is OnWebSocketEventArguments; export {}; //# sourceMappingURL=validation.d.mts.map