import { type StrokeOptions } from 'perfect-freehand';
import { SignatureProps } from './';
export declare const defaultOptions: InitialOptionState;
export declare const OptionContext: import("react").Context<InitialOptionState>;
export declare const OptionDispatchContext: import("react").Context<Dispatch>;
type Dispatch = React.Dispatch<InitialOptionState>;
type InitialOptionState = StrokeOptions & {
    renderPath?: SignatureProps['renderPath'];
    container?: HTMLElement;
};
export declare function reducerOption(tasks: InitialOptionState, action: InitialOptionState): {
    size?: number;
    thinning?: number;
    smoothing?: number;
    streamline?: number;
    easing?: (pressure: number) => number;
    simulatePressure?: boolean;
    start?: {
        cap?: boolean;
        taper?: number | boolean;
        easing?: (distance: number) => number;
    };
    end?: {
        cap?: boolean;
        taper?: number | boolean;
        easing?: (distance: number) => number;
    };
    last?: boolean;
    renderPath?: SignatureProps["renderPath"];
    container?: HTMLElement;
};
export declare const useOptionStore: () => InitialOptionState;
export declare const useOptionDispatch: () => Dispatch;
export {};
