@attio/react-native-bottom-sheet-toolbox
Version:
50 lines • 1.76 kB
TypeScript
export interface BottomSheetToolboxDevToolsAdapter {
sendMessage(method: string, parameters: any): void;
addMessageListener(method: string, listener: (parameters: any) => void): () => void;
}
export type BottomSheetToolboxDevToolsMessageFromRN = {
type: "upsert-sheet";
payload: {
sheetId: string;
currentPosition: number;
wrapperHeight: number | null;
snapPoints: number[] | null;
isReady: boolean;
};
} | {
type: "delete-sheet";
payload: {
sheetId: string;
};
} | {
type: "update-device-config";
payload: {
width: number;
height: number;
theme: "light" | "dark";
};
};
export type BottomSheetToolboxDevToolsMessageFromDevTools = {
type: "did-connect";
};
declare class BottomSheetToolboxDevTools {
private _adaptersWithListenerRemovers;
private readonly _messageListeners;
addAdapter(adapter: BottomSheetToolboxDevToolsAdapter): () => void;
sendMessage<Method extends BottomSheetToolboxDevToolsMessageFromRN["type"]>(method: Method, parameters: Extract<BottomSheetToolboxDevToolsMessageFromRN, {
type: Method;
}> extends {
payload: infer Payload;
} ? Payload : never): void;
addMessageListener<Method extends BottomSheetToolboxDevToolsMessageFromDevTools["type"]>(method: Method, listener: (parameters: Extract<BottomSheetToolboxDevToolsMessageFromDevTools, {
type: Method;
}> extends {
payload: infer Payload;
} ? Payload : never) => void): () => void;
}
/**
* This is for internal use, so we can log to our separate devtools package.
*/
export declare const BOTTOM_SHEET_DEV_TOOLS: BottomSheetToolboxDevTools;
export {};
//# sourceMappingURL=dev-tools-adapter.d.ts.map