import { LitElement } from 'lit';
import { ContainerElement, StateScrollConfig } from '../internal';
import { GridHeader } from './header/header.js';
import { GridColumn } from './column/column.js';
import { GridRow } from './row/row.js';
import { GridCell } from './cell/cell.js';
/**
 * @element nve-grid
 * @description A versatile table/datagrid component with built-in keyboard navigation for displaying and interacting with structured data. Use it for anything from simple read-only tables to fully interactive, spreadsheet experiences.
 * @since 0.11.0
 * @entrypoint \@nvidia-elements/core/grid
 * @slot - default slot for content
 * @slot footer - slot for grid-footer or toolbar
 * @cssprop --background
 * @cssprop --color
 * @cssprop --border-radius
 * @cssprop --box-shadow
 * @cssprop --font-size
 * @cssprop --row-height - fixed height of each row
 * @cssprop --scroll-height - height of the scrollable area

 * @aria https://www.w3.org/WAI/ARIA/apg/patterns/grid/
 */
export declare class Grid extends LitElement implements ContainerElement {
    #private;
    /**
     * Determines the container styles of component. Flat nests the grid within other containers. Full spans the full edge-to-edge viewport width.
     */
    container?: 'flat' | 'full';
    /**
     * Determine style variant stripe rows
     */
    stripe: boolean;
    static styles: import('lit').CSSResult[];
    static readonly metadata: {
        tag: string;
        version: string;
        children: string[];
    };
    static elementDefinitions: {};
    get keynavGridConfig(): {
        columns: GridColumn[];
        rows: (GridRow | GridHeader)[];
        cells: (GridColumn | GridCell)[];
    };
    get stateScrollConfig(): StateScrollConfig;
    /** @private */
    _internals: ElementInternals;
    render(): import('lit').TemplateResult<1>;
    connectedCallback(): void;
    /**
     * Scroll to a specific position in the grid.
     */
    scrollTo(options?: ScrollToOptions): Promise<void>;
    scrollTo(x: number, y: number): Promise<void>;
}
