import { ResponsivePhase as ResponsivePhase_internal } from "./ResponsivePhase";
/**
 * Describes one phase of a responsive state to apply to the grid.
*/
export class IgcResponsivePhase {
    createImplementation() {
        return new ResponsivePhase_internal();
    }
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    /**
     * The name of this responsive phase
    */
    get name() {
        return this.i.k;
    }
    set name(v) {
        this.i.k = v;
    }
    /**
     * The amount of time to delay the responsive phase from starting, in milliseconds
    */
    get delayMilliseconds() {
        return this.i.i;
    }
    set delayMilliseconds(v) {
        this.i.i = +v;
    }
    findByName(name) {
        return null;
    }
    /**
     * Adds a column property setter to the phase.
    
    * @param setter  * The setter to add.
    */
    addColumnPropertySetter(setter) {
        let iv = this.i.g((setter == null ? null : setter.i));
        return (iv == null ? null : iv.externalObject);
    }
    /**
     * Adds a column property setter to the phase, and returns it.
    
    */
    columnPropertySetter() {
        let iv = this.i.c();
        return (iv == null ? null : iv.externalObject);
    }
    /**
     * Adds a column exchanger the the phase.
    
    * @param exchanger  * The exchanger to add.
    */
    addColumnExchanger(exchanger) {
        let iv = this.i.f((exchanger == null ? null : exchanger.i));
        return (iv == null ? null : iv.externalObject);
    }
    /**
     * Adds a column exchanger to the phase and returns it.
    
    */
    columnExchanger() {
        let iv = this.i.h();
        return (iv == null ? null : iv.externalObject);
    }
}
//# sourceMappingURL=igc-responsive-phase.js.map
