/// <reference path="../../../../src/@types/output.d.ts" />
/// <reference path="../../../../src/@types/parameter.d.ts" />
/// <reference path="../../../../src/@types/common.d.ts" />
/// <reference path="../../../../src/@types/decorator.d.ts" />
/// <reference path="../../../../src/@types/expression.d.ts" />
/// <reference path="../../../../src/@types/literal.d.ts" />
/// <reference path="../../../../src/@types/module.d.ts" />
/// <reference path="../../../../src/@types/property.d.ts" />
/// <reference path="../../../../src/@types/statement.d.ts" />
/// <reference path="../../../../src/@types/type.d.ts" />
declare const guards: {
    type: {
        hasProperties: (typeDef: import("SmartTS").ST_TypeDef) => typeDef is ({
            type: import("../../../enums/type").FrontendType.TRecord;
            properties: import("SmartTS").ST_TypeDefs;
            layout?: import("SmartTS").ST_Layout | import("../../../enums/expression").Layout | undefined;
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        }) | ({
            type: import("../../../enums/type").FrontendType.TVariant;
            properties: import("SmartTS").ST_TypeDefs;
            layout?: import("SmartTS").ST_Layout | import("../../../enums/expression").Layout | undefined;
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        });
        hasOneArg: (typeDef: import("SmartTS").ST_TypeDef) => typeDef is ({
            type: import("../../../enums/type").FrontendType.TOption;
            none: boolean;
            innerType: import("SmartTS").ST_TypeDef;
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        }) | ({
            type: import("../../../enums/type").FrontendType.TOption;
            innerType: import("SmartTS").ST_TypeDef;
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        });
        isTuple: (typeDef: import("SmartTS").ST_TypeDef) => typeDef is {
            type: import("../../../enums/type").FrontendType.TList | import("../../../enums/type").FrontendType.TTuple | import("../../../enums/type").FrontendType.TSet;
            innerTypes: import("SmartTS").ST_TypeDef[];
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        };
        isMap: (typeDef: import("SmartTS").ST_TypeDef) => typeDef is {
            type: import("../../../enums/type").FrontendType.TBig_map | import("../../../enums/type").FrontendType.TMap;
            keyType: import("SmartTS").ST_TypeDef;
            valueType: import("SmartTS").ST_TypeDef;
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        };
        isUnknown: (t: import("SmartTS").ST_TypeDef) => boolean;
        isFunction: (t: import("SmartTS").ST_TypeDef) => t is {
            type: import("../../../enums/type").FrontendType.TLambda | import("../../../enums/type").FrontendType.TFunction;
            inputTypes: Record<string, import("SmartTS").ST_TypeDef & {
                index: number;
            }>;
            outputType: import("SmartTS").ST_TypeDef;
        } & {
            line?: import("SmartTS").FileLineInfo | undefined;
        };
    };
    literal: {
        isString: (l: import("SmartTS").ST_Literal) => l is {
            kind: import("../../../enums/literal").ST_LiteralKind.String;
            value: string;
        } & {
            line: import("SmartTS").FileLineInfo;
        };
    };
    expression: {
        hasType: (expr: import("SmartTS").ST_Expression) => expr is import("SmartTS").ST_TypedExpression;
        isAttrAccessExpr: (expr: import("SmartTS").ST_Expression) => expr is {
            kind: import("../../../enums/expression").ST_ExpressionKind.AttrAccessExpr;
            attr: string;
            type: import("SmartTS").ST_TypeDef;
            prev: import("SmartTS").Nullable<import("SmartTS").ST_Expression>;
        } & {
            line: import("SmartTS").FileLineInfo;
        };
        isExpression: (arg: {
            kind: string;
        }) => arg is import("SmartTS").ST_Expression;
    };
};
export default guards;
