import { CustomSignalClass, Signal } from "typescene-async"; import Container from "./Container"; import { Block } from "../"; import { ComponentFactory, ValueOrAsync } from "../ComponentFactory"; /** Represents a modal container displayed on the side of the screen */ export declare class DrawerContainer extends Container { /** Create a drawer component with given content, if any */ constructor(content?: Block[], width?: string, maxOuterWidth?: string); /** Initialize a drawer factory with given values */ static with: (values: DrawerContainer.Initializer) => ComponentFactory; /** Initialize a drawer factory with given content */ static withContent: (content: ComponentFactory.SpecList2) => ComponentFactory; /** Initialize with given (observable) values; returns this */ initializeWith: (values: DrawerContainer.Initializer) => this; /** Default width (CSS value, observed), defaults to 20rem; limited by maxOuterWidth which itself defaults to 90% */ width: string; /** Max width of drawer itself, defaults to 90% (observed) */ maxOuterWidth: string; /** Remove drawer from screen; returns this */ close(): this; /** Signal emitted when this drawer has been closed */ readonly Closed: CustomSignalClass>; } export declare namespace DrawerContainer { /** Initializer for .with({ ... }) */ interface Initializer extends Container.Initializer { /** Property initializer */ width?: ValueOrAsync; /** Property initializer */ maxOuterWidth?: ValueOrAsync; } } /** Represents a modal container displayed on the right hand side of the screen (i.e. DrawerContainer with modified `displayOptions` and animations) */ export declare class OppositeDrawerContainer extends DrawerContainer { /** Create a drawer component with given content, if any */ constructor(content?: Block[], width?: string, maxOuterWidth?: string); } export default DrawerContainer;