type Primitive = Readonly<string | boolean | number>;
type Option<Value> = Value extends Primitive ? {
    value: Value;
    label?: string;
    hint?: string;
} : {
    value: Value;
    label: string;
    hint?: string;
};
export interface SelectOptions<Options extends Option<Value>[], Value> {
    message: string;
    options: Options;
    initialValue?: Value;
    maxItems?: number;
}
/**
 * Like the normal clack select prompt but with a `maxItems` option.
 */
export declare const windowedSelect: <Options extends Option<Value>[], Value>(opts: SelectOptions<Options, Value>) => Promise<symbol | Value>;
export {};
