import { CSSProperties } from 'react';
import { LayoutDeclaration, Transition } from '../../compositor/layouts';
type LayoutFreeProps = {
    size: {
        x: string;
        y: string;
    };
    position: {
        x: string;
        y: string;
    };
    opacity: number;
};
export declare const Free: LayoutDeclaration<LayoutFreeProps>;
type LayoutColumnProps = {
    cover?: boolean;
    justify?: CSSProperties['justifyContent'];
    align?: CSSProperties['alignItems'];
    useGrid?: boolean;
    reverse?: boolean;
    dimensions?: number;
    margin?: {
        left?: number;
        right?: number;
        top?: number;
        bottom?: number;
        between?: number;
    };
    entryTransition?: (i: number) => Transition;
    exitTransition?: (i: number) => Transition;
};
export declare const Column: LayoutDeclaration<LayoutColumnProps>;
type LayoutRowProps = {
    cover?: boolean;
    justify?: CSSProperties['justifyContent'];
    align?: CSSProperties['alignItems'];
    useGrid?: boolean;
    reverse?: boolean;
    dimensions?: number;
    maxWidth?: number;
    margin?: {
        left?: number;
        right?: number;
        top?: number;
        bottom?: number;
        between?: number;
    };
    entryTransition?: (i: number) => Transition;
    exitTransition?: (i: number) => Transition;
};
export declare const Row: LayoutDeclaration<LayoutRowProps>;
type LayoutGridProps = {
    cover?: boolean;
    dimensions?: number;
    numPerRow?: number;
    maxWidth?: number;
    margin?: number;
    between?: number;
};
export declare const Grid: LayoutDeclaration<LayoutGridProps>;
type LayoutPresentationProps = {
    cover?: boolean;
    margin?: number;
    barWidth?: number;
    barOrientation?: 'vertical' | 'horizontal';
    presentationDimensions?: number;
    viewerDimensions?: number;
    justifyViewers?: CSSProperties['justifyContent'];
    useGrid?: boolean;
    reverse?: boolean;
};
export declare const Presentation: LayoutDeclaration<LayoutPresentationProps>;
type LayoutLayeredProps = {
    /**
     * Specifies a preset configuration for the alert layout position.
     * @type {string} Either 'top-center' or 'bottom-center'
     */
    preset: string;
    /**
     * Indicates the type of layout.
     * @type {'alert'}
     */
    type: 'alert';
};
export declare const Layered: LayoutDeclaration<LayoutLayeredProps>;
export type LayoutProps = {
    Free: LayoutFreeProps;
    Column: LayoutColumnProps;
    Row: LayoutRowProps;
    Grid: LayoutGridProps;
    Presentation: LayoutPresentationProps;
    Layered: LayoutLayeredProps;
};
export {};
