/**
 *              Copyright (c) 2025 Visa, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 **/
import { BooleanInput } from '@angular/cdk/coercion';
import { AfterContentInit, EventEmitter } from '@angular/core';
import { UUIDService } from '../_utilities/services/uuid.service';
import { PanelContentDirective } from '../panel-content/panel-content.directive';
import { PanelToggleDirective } from '../panel-toggle-button/panel-toggle-button.directive';
import * as i0 from "@angular/core";
export declare class PanelComponent implements AfterContentInit {
    private uuidService;
    panelContent: PanelContentDirective;
    toggleButton: PanelToggleDirective;
    /**
     * Provides custom class&#40;es&#41; for custom styling.
     * @default .v-panel
     */
    get class(): string;
    set class(value: string);
    _class: string;
    get hostClass(): string;
    /**
     * Sets custom id.
     * @default uuidService.getUUID('v-panel-')
     * @builtin true
     */
    id: string;
    get hostId(): string;
    /**
     * Sets custom role.
     * @default 'dialog' if panel is not responsive.
     * @builtin true
     */
    role: string | void;
    get hostRole(): string | void;
    /**
     * Adds skrim (shadow overlay) to modal variant (responsive="false") when true.
     * @default false
     */
    get skrim(): boolean;
    set skrim(value: BooleanInput);
    _skrim: boolean;
    /**
     * Sets panel to responsive variant when true and places panel on same layer as content around it.
     * @default false
     */
    get responsive(): boolean;
    set responsive(value: BooleanInput);
    _responsive: boolean;
    /**
     * Sets panel to expandable variant when true.
     * @default false
     * @default true if panel contains a <code>PanelToggleDirective</code>.
     */
    get expandable(): boolean;
    set expandable(value: BooleanInput);
    _expandable: boolean;
    /**
     * Expands panel by default when true. <br />
     * To be used when <code>expandable</code> is true.
     * @default false
     */
    get expanded(): boolean;
    set expanded(value: BooleanInput);
    _expanded: boolean;
    /**
     * Emits expanded state when panel is toggled (collapsed and expanded).
     */
    panelToggled: EventEmitter<boolean>;
    get hostAriaModal(): string | void;
    constructor(uuidService: UUIDService);
    ngAfterContentInit(): void;
    handleToggle(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PanelComponent, "[v-panel]", never, { "class": { "alias": "class"; "required": false; }; "id": { "alias": "id"; "required": false; }; "role": { "alias": "role"; "required": false; }; "skrim": { "alias": "skrim"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; }, { "panelToggled": "panelToggled"; }, ["panelContent", "toggleButton"], ["[v-panel-toggle]", "*"], true, never>;
}
