import type { Viewport } from '../Viewport.js';
import { type Props as ViewProps } from '../View.js';
import { Container } from '../Container.js';
import { Size } from '../geometry.js';
export type Location = 'top-left' | 'top-center' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
interface Props extends ViewProps {
    location?: Location;
    children?: import('../View.js').View[];
    child?: import('../View.js').View;
}
/**
 * Overlays children on top of each other. Each child receives the full
 * available size. Children are rendered in order, so later children appear
 * above earlier ones.
 *
 * When `align` is set, each child is positioned at the specified alignment
 * within the available space, and the ZStack takes up all available space.
 */
export declare class ZStack extends Container {
    #private;
    constructor(props?: Props);
    get align(): Location | undefined;
    set align(value: Location | undefined);
    update(props: Props): void;
    naturalSize(available: Size): Size;
    render(viewport: Viewport): void;
}
export {};
