UNPKG

@guardian/threads

Version:
34 lines (33 loc) 1.02 kB
export declare class UnknownFilter implements Filter { name: string; type: 'unknown'; } export interface BooleanFilter extends Filter { type: 'boolean'; } export interface TextFilter extends Filter { type: 'text' | 'date' | 'date_ex'; } export declare type SelectFilterOption = { label: string; value: string; }; export interface SelectFilter extends Filter { type: 'select'; defaultValue: string; options: SelectFilterOption[]; } export interface SelectAsyncFilter extends Filter { type: 'select_async'; onInputChange: (inputStr: string) => Promise<SelectFilterOption[]>; } export interface Filter { name: string; type: 'text' | 'date' | 'date_ex' | 'select' | 'select_async' | 'boolean' | 'unknown'; } export declare namespace FilterHelpers { function isBoolean(f: Filter): f is BooleanFilter; function isText(f: Filter): f is TextFilter; function isSelect(f: Filter): f is SelectFilter; function isSelectAsync(f: Filter): f is SelectAsyncFilter; }