import { channel } from '@synnaxlabs/client';
import { PropsWithChildren } from 'react';
import { z } from 'zod';
import { control } from './aether';
export interface ControllerProps extends Omit<z.input<typeof control.controllerStateZ>, "needsControlOf">, PropsWithChildren {
    onStatusChange?: (status: control.Status) => void;
    name: string;
}
export interface ContextValue {
    needsControlOf: channel.Keys;
}
export declare const useContext: () => ContextValue;
export declare const Controller: import('react').FC<ControllerProps & {
    aetherKey?: string;
}>;
//# sourceMappingURL=Controller.d.ts.map