import { PropType, ExtractPropTypes } from 'vue';
type verticalPlacement = 'top' | 'bottom';
type horizontalPlacement = 'left' | 'right';
type PlacementAlias = `${verticalPlacement}-${horizontalPlacement}` | `${horizontalPlacement}-${verticalPlacement}`;
export type PlacementPosition = horizontalPlacement | verticalPlacement;
type PlacementPositionWithDefault = PlacementPosition | 'auto';
export type PlacementAlignment = 'start' | 'end' | 'center';
export type Placement = PlacementPositionWithDefault | `${PlacementPosition}-${PlacementAlignment}`;
export type PlacementWithAlias = Placement | PlacementAlias;
export type ParsedPlacement = {
    position: PlacementPosition;
    align: PlacementAlignment;
};
declare const verticalPlacement: verticalPlacement[];
declare const horizontalPlacement: horizontalPlacement[];
export declare const placementsPositions: Placement[];
export declare const placementAliasesPositions: PlacementAlias[];
export declare const placementsPositionsWithAliases: PlacementWithAlias[];
export declare const aliasToPlacement: Record<PlacementAlias, Placement>;
export declare const usePlacementAliasesProps: {
    placement: {
        type: PropType<PlacementWithAlias>;
        default: string;
        validator: (position: PlacementWithAlias) => boolean;
    };
};
export type UsePlacementAliasesProps = ExtractPropTypes<typeof usePlacementAliasesProps>;
export declare const usePlacementAliases: (props: UsePlacementAliasesProps) => {
    position: import("vue").ComputedRef<PlacementPosition>;
    align: import("vue").ComputedRef<PlacementAlignment>;
};
export {};
