///
import { HeaderProps } from '@sberdevices/plasma-ui/components/Header/Header';
import { AnyObject, AssistantAppState, AssistantInstance } from '../../types';
export declare type PushScreenParams, Name extends keyof Params> = Name extends keyof Params ? [Name, Params[Name]] : [Name];
export interface PushScreenFn {
(name: T, params: P extends void ? never : P1): void;
(name: T, params?: never): void;
}
export interface ReplaceScreensFn {
(screens: Array<{
name: T;
params?: P extends void ? never : P1;
}>): void;
(screens: Array<{
name: T;
params?: never;
}>): void;
}
export interface PageMethods>, PageType extends keyof PageStateType = keyof PageStateType> {
pushHistory: (name: T, data: PageStateType[T]) => void;
pushScreen: PushScreenFn;
replacePreviousScreens: ReplaceScreensFn;
goToScreen: (name: T) => void;
popScreen: () => void;
changeState: (data: State) => void;
sendData: AssistantInstance['sendData'];
setAssistantState: (state: T) => void;
}
export declare type PageComponent> = Partial>> = React.ComponentType & {
name: Name;
state: PageStateType[Name];
params: PageParamsType[Name];
assistant: AssistantInstance | null;
fallbackComponent?: React.ReactNode;
header?: HeaderProps;
}>;
//# sourceMappingURL=types.d.ts.map