import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CAConstraintAttribute } from "./CAConstraintAttribute.js";
export declare class _CAConstraint extends _NSObject {
    static alloc(): _CAConstraint;
    static new(): _CAConstraint;
    init(): _CAConstraint;
    /**
     * Create a new constraint object with the specified parameters. In the general case the new constraint will have the form: layer.attr = m * srcLayer.srcAttr + c 'm' defaults to one when undefined; 'c' defaults to zero.
     */
    static constraintWithAttribute$relativeTo$attribute$scale$offset$(attr: CAConstraintAttribute, srcId: _NSString, srcAttr: CAConstraintAttribute, m: number, c: number): _CAConstraint;
    static constraintWithAttribute$relativeTo$attribute$offset$(attr: CAConstraintAttribute, srcId: _NSString, srcAttr: CAConstraintAttribute, c: number): _CAConstraint;
    static constraintWithAttribute$relativeTo$attribute$(attr: CAConstraintAttribute, srcId: _NSString, srcAttr: CAConstraintAttribute): _CAConstraint;
    /** Designated initializer. */
    initWithAttribute$relativeTo$attribute$scale$offset$(attr: CAConstraintAttribute, srcId: _NSString, srcAttr: CAConstraintAttribute, m: number, c: number): _CAConstraint;
    /** Accessors. */
    attribute(): CAConstraintAttribute;
    sourceName(): _NSString;
    sourceAttribute(): CAConstraintAttribute;
    scale(): number;
    offset(): number;
}
export interface _CAConstraint extends _NSSecureCoding {
}
