import type { PropType } from 'vue-demi';
import type { AlignType, AlignResult, TargetType } from './interface';
type OnAlign = (source: HTMLElement, result: AlignResult) => void;
export interface AlignProps {
    align: AlignType;
    target: TargetType;
    onAlign?: OnAlign;
    monitorBufferTime?: number;
    monitorWindowResize?: boolean;
    disabled?: boolean;
}
export declare const alignProps: {
    align: PropType<AlignType>;
    target: PropType<TargetType>;
    onAlign: PropType<OnAlign>;
    monitorBufferTime: NumberConstructor;
    monitorWindowResize: BooleanConstructor;
    disabled: BooleanConstructor;
};
export interface RefAlign {
    forceAlign: () => void;
}
declare const _default: import("vue-demi").DefineComponent<{
    align: PropType<AlignType>;
    target: PropType<TargetType>;
    onAlign: PropType<OnAlign>;
    monitorBufferTime: NumberConstructor;
    monitorWindowResize: BooleanConstructor;
    disabled: BooleanConstructor;
}, () => import("vue-demi").VNode<import("vue-demi").RendererNode, import("vue-demi").RendererElement, {
    [key: string]: any;
}>, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "align"[], "align", import("vue-demi").PublicProps, Readonly<import("vue-demi").ExtractPropTypes<{
    align: PropType<AlignType>;
    target: PropType<TargetType>;
    onAlign: PropType<OnAlign>;
    monitorBufferTime: NumberConstructor;
    monitorWindowResize: BooleanConstructor;
    disabled: BooleanConstructor;
}>> & {
    onAlign?: (...args: any[]) => any;
}, {
    disabled: boolean;
    monitorWindowResize: boolean;
}, {}>;
export default _default;
