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