import { TColumnBreakpoint, TColumnSpan, TColumnFlexBreakpoint, TColumnGridBreakpoint, TColumnSpanType } from '../types';
import { PropType } from 'vue';
export interface IColumnProps {
    tag: string | undefined;
    xs: TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | undefined;
    sm: TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | undefined;
    md: TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | undefined;
    lg: TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | undefined;
    xl: TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | undefined;
    span: TColumnSpan<TColumnSpanType>;
}
export interface IUseColumn {
    breakpoints: TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint>[];
}
export declare const makeColumnProps: <Defaults extends {
    xs?: unknown;
    sm?: unknown;
    md?: unknown;
    lg?: unknown;
    xl?: unknown;
    span?: unknown;
} = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
    /**
     * >320px
     */
    xs: {
        type: PropType<TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | number | string | boolean>;
        default: undefined;
    };
    /**
     * >672px
     */
    sm: {
        type: PropType<TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | number | string | boolean>;
        default: undefined;
    };
    /**
     * >1056px
     */
    md: {
        type: PropType<TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | number | string | boolean>;
        default: undefined;
    };
    /**
     * >1312px
     */
    lg: {
        type: PropType<TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | number | string | boolean>;
        default: undefined;
    };
    /**
     * >1584px
     */
    xl: {
        type: PropType<TColumnBreakpoint<TColumnGridBreakpoint | TColumnFlexBreakpoint> | number | string | boolean>;
        default: undefined;
    };
    /**
     * Only CSS Grid supported. Постоянный диапазон колонок, start или end значения, которые не изменятся.
     */
    span: {
        type: PropType<TColumnSpanType | number | string>;
        default: undefined;
    };
}, Defaults>;
export declare const useBreakpoints: (props: IColumnProps) => IUseColumn;
/**
 * Build the appropriate grid className for the given set of breakpoints.
 * @param {Array<boolean|number|TColumnGridBreakpoint>} breakpoints
 * @param prefix
 * @returns {string}
 */
export declare const getClassNameForGridBreakpoints: (breakpoints: TColumnBreakpoint<TColumnGridBreakpoint>[], prefix: string) => string;
/**
 * Build the appropriate flex className for the given set of breakpoints.
 * @param {Array<boolean|number|TColumnFlexBreakpoint>} breakpoints
 * @param prefix
 * @returns {string}
 */
export declare const getClassNameForFlexBreakpoints: (breakpoints: TColumnBreakpoint<TColumnFlexBreakpoint>[], prefix: string) => string;
/**
 * Build the appropriate className for a span value
 */
export declare const getClassNameForSpan: (value: TColumnSpan<TColumnSpanType>, prefix: string) => string;
