import { IgcResponsiveStateEnteringEventArgs } from "./igc-responsive-state-entering-event-args";
import { IgcResponsiveStateEnteredEventArgs } from "./igc-responsive-state-entered-event-args";
import { IgcResponsiveStateExitedEventArgs } from "./igc-responsive-state-exited-event-args";
import { IgcResponsivePhase } from "./igc-responsive-phase";
import { ResponsiveState as ResponsiveState_internal } from "./ResponsiveState";
/**
 * Describes a state that the grid can enter based on a set of responsive conditions.
*/
export declare class IgcResponsiveState {
    protected createImplementation(): ResponsiveState_internal;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): ResponsiveState_internal;
    private onImplementationCreated;
    constructor();
    protected _provideImplementation(i: any): void;
    /**
     * The name of the responsive state
    */
    get name(): string;
    set name(v: string);
    /**
     * Gets or sets the minimum width for which this state is active.
    */
    get minimumWidth(): number;
    set minimumWidth(v: number);
    /**
     * Gets or sets the maximum width for which this state is active.
    */
    get maximumWidth(): number;
    set maximumWidth(v: number);
    /**
     * Configures this responsive state to only be manually actived
    */
    get isManualState(): boolean;
    set isManualState(v: boolean);
    findByName(name: string): any;
    /**
     * Adds a responsive phase to the state.
    
    * @param phase  * The phase to add.
    */
    addResponsivePhase(phase: IgcResponsivePhase): IgcResponsiveState;
    /**
     * Adds a responsive phase to the state and returns it.
    
    */
    responsivePhase(): IgcResponsivePhase;
    private _stateEntering;
    private _stateEntering_wrapped;
    /**
     * Called when a state is being entered.
    */
    get stateEntering(): (s: IgcResponsiveState, e: IgcResponsiveStateEnteringEventArgs) => void;
    set stateEntering(ev: (s: IgcResponsiveState, e: IgcResponsiveStateEnteringEventArgs) => void);
    private _stateEntered;
    private _stateEntered_wrapped;
    /**
     * Called when a state is entered.
    */
    get stateEntered(): (s: IgcResponsiveState, e: IgcResponsiveStateEnteredEventArgs) => void;
    set stateEntered(ev: (s: IgcResponsiveState, e: IgcResponsiveStateEnteredEventArgs) => void);
    private _stateExited;
    private _stateExited_wrapped;
    /**
     * Called when a state is exited.
    */
    get stateExited(): (s: IgcResponsiveState, e: IgcResponsiveStateExitedEventArgs) => void;
    set stateExited(ev: (s: IgcResponsiveState, e: IgcResponsiveStateExitedEventArgs) => void);
}
