import { Input } from '../input';
import { channel } from '@synnaxlabs/client';
import { PropsWithChildren, ReactElement } from 'react';

interface AliasContextValue {
    aliases: Record<channel.Key, string>;
    getName: (key: channel.Key) => Promise<string | undefined>;
    setAlias: ((key: channel.Key, alias: string) => Promise<void>) | null;
    activeRange?: string | null;
}
export declare const useContext: () => AliasContextValue;
export interface AliasProviderProps extends PropsWithChildren {
    activeRange?: string | null;
}
export declare const useAlias: (key: channel.Key) => string | null;
export declare const useAliases: () => Record<channel.Key, string>;
export declare const useName: (key: channel.Key, def?: string) => string;
export declare const useActiveRange: () => string | undefined;
export declare const AliasProvider: ({ activeRange, children, }: AliasProviderProps) => ReactElement;
export interface AliasInputProps extends Input.TextProps {
    channelKey: channel.Key;
    shadow?: boolean;
}
export declare const AliasInput: ({ channelKey, value, shadow, className, ...props }: AliasInputProps) => ReactElement;
export {};
//# sourceMappingURL=AliasProvider.d.ts.map