/** @packageDocumentation
 * @module NavigationAids
 */
import "./SheetsModalFrontstage.scss";
import * as React from "react";
import { IModelConnection } from "@itwin/core-frontend";
import { UiEvent } from "@itwin/appui-abstract";
import { CommonProps } from "@itwin/core-react";
import { ModalFrontstageInfo } from "../framework/FrameworkFrontstages";
import { SheetData } from "./SheetNavigationAid";
/** Data about a sheet card
 * @alpha
 */
export interface CardInfo {
    index: number;
    label: string;
    iconSpec: string;
    isActive: boolean;
    viewId: any;
}
/** Arguments for CardSelectedEvent
 * @alpha
 */
export interface CardSelectedEventArgs {
    id: any;
    index: number;
}
/** Class for CardSelectedEvent
 * @alpha
 */
export declare class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> {
}
/** Modal frontstage displaying sheet information in cards.
 * @alpha
 */
export declare class SheetsModalFrontstage implements ModalFrontstageInfo {
    title: string;
    private _cards;
    private _connection;
    private _currentIndex;
    private _searchValue;
    /**
     * Creates a SheetsModalFrontstage
     * @param sheets Collection of sheets available in SheetNavigationAid
     * @param connection IModelConnection to query for sheet ViewState
     */
    constructor(sheets: SheetData[], connection: IModelConnection, currentIndex: number);
    /**
     * Gathers card info from available sheets
     * @param sheets SheetData from available sheets
     */
    private _storeSheetsAsCards;
    /** Gets set of cards */
    get content(): React.ReactNode;
    /** Gets components to be placed in the app bar */
    get appBarRight(): React.ReactNode;
    /** Updates stage based on search value */
    private _handleSearchValueChanged;
}
/** Properties for [[CardContainer]]
 * @alpha
 */
export interface CardContainerProps extends CommonProps {
    cards: CardInfo[];
    searchValue: string;
    connection: IModelConnection;
}
/** Displays cards in SheetModalFrontstage
 * @alpha
 */
export declare class CardContainer extends React.Component<CardContainerProps> {
    private static _cardSelectedEvent;
    /** Get CardSelectedEvent event */
    static get onCardSelectedEvent(): CardSelectedEvent;
    /** @internal */
    render(): JSX.Element;
    /**
     * Determines if string contains a substring
     * @param valueA The string to search through
     * @param valueB The value to search for
     * @return True if valueB can be found in valueA, false otherwise
     */
    private contains;
    /**
     * Updates view with ViewState for selected card.
     * @param card Data about the sheet card selected.
     */
    private _handleCardSelected;
}
/** Properties for [[SheetCard]]
 * @alpha
 */
export interface SheetCardProps {
    label: string;
    index: number;
    iconSpec: string;
    isActive: boolean;
    onClick: () => void;
}
/** State for [[SheetCard]]
 * @internal
 */
interface SheetCardState {
    isActive: boolean;
    isPressed: boolean;
}
/** Displays information about an individual sheet
 * @alpha
 */
export declare class SheetCard extends React.Component<SheetCardProps, SheetCardState> {
    constructor(props: SheetCardProps);
    private _onClick;
    private _onMouseDown;
    private _onMouseLeave;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=SheetsModalFrontstage.d.ts.map