import { OnDestroy } from '@angular/core';
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
import { Observable } from 'rxjs';
import { TwoColumnsContextStore } from './two.column.store';
import { Maybe } from '@dereekb/util';
import { ResizedEvent } from '../../../screen/resize';
import * as i0 from "@angular/core";
export interface DbxTwoColumnViewState {
    readonly showRight: boolean;
    readonly showFullLeft: boolean;
    readonly hideLeftColumn: boolean;
    readonly reverseSizing: boolean;
    readonly inSectionPage: boolean;
}
/**
 * Responsive component meant to split a left and right column.
 *
 * The left column is smaller than the right column, which contains the primary content.
 *
 * Requires a TwoColumnsContextStore to be provided.
 */
export declare class DbxTwoColumnComponent extends AbstractSubscriptionDirective implements OnDestroy {
    private readonly _elementRef;
    readonly twoColumnsContextStore: TwoColumnsContextStore;
    readonly reverseSizing: import("@angular/core").InputSignal<boolean>;
    readonly inSectionPage: import("@angular/core").InputSignal<boolean>;
    /**
     * Acts as an override to show the right column without having to use dbx-two-column-right or update the context store directly.
     */
    readonly hasRightContent: import("@angular/core").InputSignalWithTransform<boolean, Maybe<boolean | "">>;
    readonly reverseSizing$: Observable<boolean>;
    readonly hideLeftColumn$: Observable<boolean>;
    readonly inSectionPage$: Observable<boolean>;
    readonly showRight$: Observable<boolean>;
    readonly showFullLeft$: Observable<boolean>;
    readonly hideLeftColumnSignal: import("@angular/core").Signal<boolean | undefined>;
    readonly reverseSizingSignal: import("@angular/core").Signal<boolean | undefined>;
    readonly showRightSignal: import("@angular/core").Signal<boolean | undefined>;
    readonly cssClasses$: Observable<{
        'right-shown': boolean;
        'full-left': boolean;
        'hide-left-column': boolean;
        'two-column-reverse-sizing': boolean;
        'dbx-section-page-two': boolean;
    }>;
    readonly cssClassSignal: import("@angular/core").Signal<{
        'right-shown': boolean;
        'full-left': boolean;
        'hide-left-column': boolean;
        'two-column-reverse-sizing': boolean;
        'dbx-section-page-two': boolean;
    } | undefined>;
    protected readonly _reverseSizingEffect: import("@angular/core").EffectRef;
    protected readonly _hasRightContentEffect: import("@angular/core").EffectRef;
    viewResized(event: ResizedEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxTwoColumnComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxTwoColumnComponent, "dbx-two-column", ["columns"], { "reverseSizing": { "alias": "reverseSizing"; "required": false; "isSignal": true; }; "inSectionPage": { "alias": "inSectionPage"; "required": false; "isSignal": true; }; "hasRightContent": { "alias": "hasRightContent"; "required": false; "isSignal": true; }; }, {}, never, ["[left]", "[right]"], true, never>;
}
