/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElement } from '@tylertech/forge-core';
import { BaseComponent } from '../core/base/base-component';
import { BottomSheetMode, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';
export interface IBottomSheetComponent extends ICustomElement {
    mode: BottomSheetMode;
    persistent: boolean;
    open: boolean;
    fullscreen: boolean;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-bottom-sheet': IBottomSheetComponent;
    }
    interface HTMLElementEventMap {
        'forge-bottom-sheet-before-close': CustomEvent<void>;
        'forge-bottom-sheet-close': CustomEvent<void>;
        'forge-bottom-sheet-open': CustomEvent<void>;
        'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;
        'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;
        'forge-bottom-sheet-drag-end': CustomEvent<void>;
        'forge-bottom-sheet-drag-cancel': CustomEvent<void>;
        'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;
    }
}
declare const BottomSheetComponent_base: import("..").AbstractConstructor<import("../core/mixins/internals/with-element-internals").WithElementInternalsContract> & import("..").AbstractConstructor<import("../core/mixins/internals/with-default-aria").WithDefaultAriaContract> & typeof BaseComponent;
/**
 * @tag forge-bottom-sheet
 *
 * @summary Bottom sheets slide up from the bottom of the screen to reveal more content and/or actions that the user can take.
 *
 * @property {boolean} open - Whether the bottom sheet is open.
 * @property {BottomSheetMode} mode - The mode of the bottom sheet. Defaults to non-modal.
 * @property {boolean} persistent - Whether the bottom sheet is persistent.
 * @property {boolean} fullscreen - Whether the bottom sheet is fullscreen.
 *
 * @attribute {boolean} open - Whether the bottom sheet is open.
 * @attribute {BottomSheetMode} mode - The mode of the bottom sheet. Defaults to non-modal.
 * @attribute {boolean} persistent - Whether the bottom sheet is persistent.
 * @attribute {boolean} fullscreen - Whether the bottom sheet is fullscreen.
 *
 * @event {CustomEvent<void>} forge-bottom-sheet-before-close - Fires before the bottom sheet closes.
 * @event {CustomEvent<void>} forge-bottom-sheet-close - Fires after the bottom sheet closes.
 * @event {CustomEvent<void>} forge-bottom-sheet-open - Fires after the bottom sheet opens.
 * @event {CustomEvent<IBottomSheetDragStartEventData>} forge-bottom-sheet-drag-start - Fires when the bottom sheet starts to be dragged.
 * @event {CustomEvent<IBottomSheetDragEventData>} forge-bottom-sheet-dragged - Fires when the bottom sheet is dragged.
 * @event {CustomEvent<void>} forge-bottom-sheet-drag-end - Fires when the bottom sheet drag ends.
 * @event {CustomEvent<void>} forge-bottom-sheet-drag-cancel - Fires when the bottom sheet drag is cancelled.
 * @event {CustomEvent<boolean>} forge-bottom-sheet-fullscreen - Fires when the bottom sheet is toggled to fullscreen.
 *
 * @cssproperty --forge-bottom-sheet-desktop-max-width - The maximum width of the bottom sheet on desktop.
 * @cssproperty --forge-bottom-sheet-desktop-min-width - The minimum width of the bottom sheet on desktop.
 * @cssproperty --forge-bottom-sheet-animation-duration - The duration of the bottom sheet animation to fullscreen.
 * @cssproperty --forge-bottom-sheet-animation-timing - The timing function of the bottom sheet animation to fullscreen.
 *
 * @csspart root - The root element of the bottom sheet.
 * @csspart surface - The surface element of the bottom sheet within th dialog.
 *
 * @slot - The content of the bottom sheet. This is a passthrough slot to the dialog surface.
 */
export declare class BottomSheetComponent extends BottomSheetComponent_base implements IBottomSheetComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    connectedCallback(): void;
    attributeChangedCallback(name: string, _oldValue: string, newValue: string): void;
    open: boolean;
    mode: BottomSheetMode;
    persistent: boolean;
    fullscreen: boolean;
}
export {};
