import { type ATOM, type HINSTANCE, type HWND } from '../ctypes.js'; import { type WNDCLASS, WNDCLASSEX } from '../structs.js'; /** * Retrieves information about a window class. * * Note: libwin32 only supports querying by class name (string). * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclassinfow */ export declare function GetClassInfo(hInstance: HINSTANCE | null, className: string): WNDCLASS | null; /** * Retrieves information about a window class, including a handle to the small icon associated with the window class. * * Note: libwin32 only supports querying by class name (string). * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclassinfoexw */ export declare function GetClassInfoEx(hInstance: HINSTANCE | null, className: string): WNDCLASSEX | null; /** * Retrieves the name of the class to which the specified window belongs. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclassnamew */ export declare function GetClassName(hWnd: HWND): string | null; /** * Registers a window class for subsequent use in calls to the CreateWindow function. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registerclassw */ export declare function RegisterClass(wndClass: WNDCLASS): ATOM | null; /** * Registers a window class for subsequent use in calls to the CreateWindowEx function. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registerclassexw */ export declare function RegisterClassEx(wndClassEx: WNDCLASSEX): ATOM | null; /** * Unregisters a window class, freeing the memory required for the class. * * Note: despite the parameter being named `className`, as in the native API, * libwin32 only supports unregistering by ATOM -- the one you received * from RegisterClass/RegisterClassEx. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-unregisterclassw */ export declare function UnregisterClass(className: ATOM, hInstance?: HINSTANCE | null): boolean;