/**
 * Triggers the browser's native permission prompt for the given media kind.
 * Works cross-browser: the native prompt appears when permission state is
 * "prompt"; if permission is already "denied" the call rejects immediately.
 *
 * The acquired tracks are stopped right away — we only need the permission
 * grant, not an active stream.
 *
 * @returns 'granted' if the user allowed access, 'denied' if the user explicitly
 * denied the permission (NotAllowedError), or 'error' for any other failure
 * (e.g. device not found, hardware error).
 */
export type BrowserPermissionResult = 'granted' | 'denied' | 'error';
export declare function requestBrowserPermission(kind: 'audio' | 'video'): Promise<BrowserPermissionResult>;
