@metamask/snaps-sdk
Version:
A library containing the core functionality for building MetaMask Snaps
298 lines • 8.44 kB
text/typescript
import type { Infer, Struct } from "@metamask/superstruct";
import { NodeType } from "../nodes.cjs";
/**
* @internal
*/
export declare const ParentStruct: Struct<{
type: string;
children: ({
value: string;
type: NodeType.Copyable;
sensitive?: boolean | undefined;
} | {
type: NodeType.Divider;
} | {
value: string;
type: NodeType.Heading;
} | {
value: string;
type: NodeType.Image;
} | Panel | {
type: NodeType.Spinner;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
} | {
value: {
value: string;
type: NodeType.Image;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
};
type: NodeType.Row;
label: string;
variant?: "default" | "critical" | "warning" | undefined;
} | {
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
} | {
type: NodeType.Form;
name: string;
children: ({
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
})[];
})[];
}, {
children: Struct<({
value: string;
type: NodeType.Copyable;
sensitive?: boolean | undefined;
} | {
type: NodeType.Divider;
} | {
value: string;
type: NodeType.Heading;
} | {
value: string;
type: NodeType.Image;
} | Panel | {
type: NodeType.Spinner;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
} | {
value: {
value: string;
type: NodeType.Image;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
};
type: NodeType.Row;
label: string;
variant?: "default" | "critical" | "warning" | undefined;
} | {
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
} | {
type: NodeType.Form;
name: string;
children: ({
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
})[];
})[], Struct<{
value: string;
type: NodeType.Copyable;
sensitive?: boolean | undefined;
} | {
type: NodeType.Divider;
} | {
value: string;
type: NodeType.Heading;
} | {
value: string;
type: NodeType.Image;
} | Panel | {
type: NodeType.Spinner;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
} | {
value: {
value: string;
type: NodeType.Image;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
};
type: NodeType.Row;
label: string;
variant?: "default" | "critical" | "warning" | undefined;
} | {
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
} | {
type: NodeType.Form;
name: string;
children: ({
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
})[];
}, null>>;
type: Struct<string, null>;
}>;
/**
* @internal
*/
export declare const PanelStruct: Struct<Panel>;
export type Panel = {
type: NodeType.Panel;
children: Component[];
};
export declare const ComponentStruct: Struct<{
value: string;
type: NodeType.Copyable;
sensitive?: boolean | undefined;
} | {
type: NodeType.Divider;
} | {
value: string;
type: NodeType.Heading;
} | {
value: string;
type: NodeType.Image;
} | Panel | {
type: NodeType.Spinner;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
} | {
value: {
value: string;
type: NodeType.Image;
} | {
value: string;
type: NodeType.Text;
markdown?: boolean | undefined;
} | {
value: `0x${string}`;
type: NodeType.Address;
};
type: NodeType.Row;
label: string;
variant?: "default" | "critical" | "warning" | undefined;
} | {
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
} | {
type: NodeType.Form;
name: string;
children: ({
type: NodeType.Input;
name: string;
value?: string | undefined;
label?: string | undefined;
inputType?: "number" | "text" | "password" | undefined;
placeholder?: string | undefined;
error?: string | undefined;
} | {
value: string;
type: NodeType.Button;
variant?: "primary" | "secondary" | undefined;
name?: string | undefined;
buttonType?: "button" | "submit" | undefined;
})[];
}, null>;
/**
* All supported component types.
*/
export type Component = Infer<typeof ComponentStruct>;
//# sourceMappingURL=panel.d.cts.map