import React, { FunctionComponent } from 'react'; import { SectionProps } from './Section'; declare type FlowSectionProps = Pick; export declare type FlowPropsBase = FlowSectionProps & { children: any; Layout?: FunctionComponent; Toolbar?: FunctionComponent; height?: number; onChangeStep?: (step: number) => any; }; export declare type FlowStoreProps = { id: string; data?: any; onChangeStep?: (step: number) => any; }; export declare type FlowProps = FlowPropsBase & FlowStoreProps | FlowPropsBase & { useFlow: FlowStore; }; declare type StepProps = { data: any; setData: (a: any) => void; next: () => void; prev: () => void; setStepIndex: (index: number) => void; }; export declare type FlowStepProps = FlowSectionProps & { title?: string; buttonTitle?: string; subTitle?: string; children?: React.ReactNode | ((props: StepProps) => any); validateFinished?: (a: any) => true | any; }; declare type FlowStep = FlowStepProps & { key: string; }; export declare type FlowLayoutProps = Omit & { stepProps: StepProps; flowStore: FlowStore; Toolbar: FlowProps['Toolbar']; children: React.ReactChild; index: number; total: number; step: FlowStep; steps: FlowStep[]; height?: number; }; export declare const FlowLayoutSlider: (props: FlowLayoutProps) => JSX.Element; export declare const FlowLayoutInline: (props: FlowLayoutProps) => JSX.Element; interface FlowComponent extends FunctionComponent { Step: FunctionComponent; } export declare class FlowStore { props: FlowStoreProps; steps: FlowStepProps[]; private state; get data(): any; get index(): number; get setData(): import("@o/utils").ImmutableUpdateFn; get setIndex(): React.Dispatch>; get total(): number; get step(): FlowStepProps; onStepChangeCallback: void; next: () => Promise; prev: () => void; setStepsInternal(steps: FlowStepProps[]): void; } export declare const useCreateFlow: (props?: false | FlowStoreProps, opts?: import("@o/use-store").UseStoreOptions) => FlowStore; export declare const useFlow: (options?: import("@o/use-store").UseStoreOptions) => FlowStore; export declare const FlowProvide: ({ value, children }: { value: FlowStore; children: any; }) => JSX.Element; export declare const Flow: FlowComponent; export declare function FlowStep(_: FlowStepProps): any; export {}; //# sourceMappingURL=Flow.d.ts.map