import { Observable } from 'rxjs'; import { Command, Property, ReadOnlyProperty } from '../../../WebRx'; import { BaseViewModel, HandlerRoutingStateChanged, RoutingStateHandler } from '../../React'; export interface SearchRequest { filter: string; regex: RegExp; } export interface SearchRoutingState { filter?: string; } export declare class SearchViewModel extends BaseViewModel implements RoutingStateHandler { private readonly liveSearchTimeout; private readonly isCaseInsensitive; static displayName: string; protected readonly processRequests: Command; readonly filter: Property; readonly requests: ReadOnlyProperty; readonly searchPending: ReadOnlyProperty; readonly search: Command; readonly clear: Command; constructor(liveSearchTimeout?: number, isCaseInsensitive?: boolean); isRoutingStateHandler(): boolean; createRoutingState(changed?: HandlerRoutingStateChanged): SearchRoutingState; applyRoutingState(state: SearchRoutingState): void; readonly filterRequests: Observable; readonly regexRequests: Observable; protected createRegex(filter: string): RegExp | undefined; }